战狂粗人张

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  Java

1 2 下一页

摘要:一、前言 有一个列表需要按照【金额: money】【降序】排列,但这个金额是 String 类型的。 二、解决方案 首先想到的是自定义排序: Collections.sort(list, new Comparator<Entity>(){ @Override public int compare(E 阅读全文
posted @ 2022-07-13 15:24 战狂粗人张 阅读(227) 评论(0) 推荐(0) 编辑

摘要:一、需求 根据优惠券的类型resourceType 查询 发放方式grantType和领取规则。 二、简单实现 采用switch case 方式。 缺点:后期代码难以维护,可读性不强。 package cn.zwx.strategy.pattern.example.simple; import or 阅读全文
posted @ 2022-06-02 11:41 战狂粗人张 阅读(96) 评论(0) 推荐(0) 编辑

摘要:一、业务场景 做了微信支付,支付宝支付,然后突然要加一个银联支付,那么如果代码方法一起就会导致代码不是很好操作所以,采用策略模式进行。 二、直接上代码 1、策略接口:执行的方法 package com.cxy.ssp.strategy; public interface Strategy { Str 阅读全文
posted @ 2022-06-02 11:31 战狂粗人张 阅读(291) 评论(0) 推荐(0) 编辑

摘要:一、前言 现实中的代码往往存在着过多的 if...else。虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性、可维护性造成很大伤害,进而危害到整个软件系统。 现在软件开发领域出现了很多新技术、新概念,但 if...else 这种基本的程序形式并没有发生太大变化。使用好 阅读全文
posted @ 2022-04-08 10:49 战狂粗人张 阅读(410) 评论(0) 推荐(0) 编辑

摘要:一、项目介绍 需要实现对接口的签名和加密。使用的是RSA非对称加密,签名方法用的是RSA自带的。 签名原理,私钥签名,公钥验签。 如果第三方不想让接口提供方知道他们的私钥,可以让第三方自己生成公私钥,把公钥公开出来 验签得双方验证才行,就是说双方都得有自己的公私钥, 传输过程带上自己的公钥去验证,但 阅读全文
posted @ 2021-11-26 18:01 战狂粗人张 阅读(602) 评论(0) 推荐(0) 编辑

摘要:直接上代码: 一、简单判断是否为json格式 ,判断规则:判断首尾字母是否为{}或[],如果都不是则不是一个JSON格式的文本。 public static boolean getJSONType(String str) { boolean result = false; if (StringUti 阅读全文
posted @ 2020-11-05 16:54 战狂粗人张 阅读(11927) 评论(0) 推荐(0) 编辑

摘要:需求一:这种不需要传任何参数 一、数据库存储的菜单结果: parentid为0的都是根节点,也就是一级菜单,后面的子菜单的parentid为父菜单的ID。 二、MenuDTO类(菜单类)的结构: @Date public class MenuDTO { private Integer id; pri 阅读全文
posted @ 2020-11-05 16:48 战狂粗人张 阅读(3193) 评论(0) 推荐(1) 编辑

摘要:一、时间戳的比较 一般都用它来做登录判断,比如登录的时候检查该用户是否还在有效期范围内,如果不在开始时间与结束时间之内,那么就表明该用户已经过期; 这样的话,首先就可以想起三个参数,第一个需要获取当前系统时间,因为登录的时候需要根据当前时间来判断, 该用户是否还在有效期之内,然后再用数据库中获取该用 阅读全文
posted @ 2020-09-24 14:30 战狂粗人张 阅读(156) 评论(0) 推荐(0) 编辑

摘要:一、BIO通信 1、原理 BIO即同步阻塞模式一请求一应答的通信模型,该模型最大的问题就是缺乏弹性伸缩能力。当客户端并发访问量增加后,服务端的线程个数和客户端并发访问数呈1:1的正比关系。 由于线程是JAVA虚拟机非常宝贵的系统资源,当线程数膨胀之后,系统的性能将急剧下降,随着并发访问量的继续增大, 阅读全文
posted @ 2020-08-25 15:00 战狂粗人张 阅读(215) 评论(0) 推荐(0) 编辑

摘要:一.JavaScript JavaScript是一种网页的编程技术,实现页面的动态交互效果,是一种基于对象和事件驱动的解释性语言。 Javascript的写法 方式一:直接定义在事件中。 方式二:方法写在 <head>里的 <script> 中。 方式三:将代码写在单独的 js文件中,在 html 阅读全文
posted @ 2020-06-08 12:13 战狂粗人张 阅读(221) 评论(0) 推荐(0) 编辑

摘要:一.Servlet是什么 Servlet是sun公司制订的一种用来扩展web服务器功能的组件规范。 1、扩展web服务器功能 早期的web服务器(比如apache web server,微软的 iis)只能够处理静态资源(即需要事先将html文件写好),不能够处理动态资源的请求(即需要依据请求参数然 阅读全文
posted @ 2020-06-08 11:28 战狂粗人张 阅读(341) 评论(0) 推荐(0) 编辑

摘要:一.什么是语法糖 语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin 发明的一个术语,指在计算机语言中添加的某种语法, 这种语法对语言的功能并没有影响,但是更方便程序员使用。简而言之,语法糖让程序更加简洁,有更高的可读性。 有意思的是,在编程领域 阅读全文
posted @ 2020-03-31 17:41 战狂粗人张 阅读(633) 评论(0) 推荐(0) 编辑

摘要:一.动态编程 动态编程是相对于静态编程而言的,平时我们讨论比较多的就是静态编程语言。 例如Java,与动态编程语言,例如JavaScript。那二者有什么明显的区别呢? 简单的说就是在静态编程中,类型检查是在编译时完成的,而动态编程中类型检查是在运行时完成的。 所谓动态编程就是绕过编译过程在运行时进 阅读全文
posted @ 2020-03-31 16:36 战狂粗人张 阅读(320) 评论(0) 推荐(0) 编辑

摘要:原因: 我们知道hashmap的扩容因子是0.75,如果hashmap的数组长度已经使用了75%就会引起扩容,会新申请一个长度为原来两倍的桶数组, 然后将原数组的元素重新映射到新的数组中,原有数据的引用会逐个被置为null。就是在resize()扩容的时候会造成线程不安全。 另外当一个新节点想要插入 阅读全文
posted @ 2020-03-25 01:05 战狂粗人张 阅读(5250) 评论(0) 推荐(0) 编辑

摘要:第一种: 实现思路:使用两个for循环遍历集合所有元素,然后进行判断是否有相同元素,如果有,则去除。这种方式是大部分最先想到的,也是最简单的实现方式。 其中,这种方式可以保证List集合原来的顺序不变。 /** * notes:使用两个for循环实现List去重 * @param list * @r 阅读全文
posted @ 2020-03-24 22:02 战狂粗人张 阅读(331) 评论(0) 推荐(0) 编辑

摘要:例子代码: 第一步: <!--Excel包--> <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>eas 阅读全文
posted @ 2020-01-12 03:20 战狂粗人张 阅读(2505) 评论(0) 推荐(0) 编辑

摘要:一.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。 这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式 阅读全文
posted @ 2020-01-02 02:07 战狂粗人张 阅读(201) 评论(0) 推荐(0) 编辑

摘要:一.关于Lambda表达式 forEach and Map 1、通常这样遍历一个Map Map<String, Integer> items = new HashMap<>(); items.put("A", 10); items.put("B", 20); items.put("C", 30); 阅读全文
posted @ 2019-05-28 10:46 战狂粗人张 阅读(460) 评论(0) 推荐(0) 编辑

摘要:Object是所有类的父类,任何类都默认继承Object。 1、clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 2、getClass方法 final方法,获得运行时类型。 3、toStr 阅读全文
posted @ 2018-11-03 03:23 战狂粗人张 阅读(124) 评论(0) 推荐(0) 编辑

摘要:一.BigInteger 1、可以使用BigInteger操作大整数 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作。BigInteger是在java.math包中。 代码示例: package ustc.li 阅读全文
posted @ 2018-10-10 10:31 战狂粗人张 阅读(997) 评论(0) 推荐(0) 编辑

1 2 下一页