java
lwx-apollo
这个作者很懒,什么都没留下…
展开
-
设计模式之原型模式
在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。原创 2022-02-16 16:32:25 · 228 阅读 · 0 评论 -
设计模式之单例模式
目录概念原文概念翻译特点原理优点与缺点优点缺点应用场景项目或框架应用代码实现饿汉式优缺点优点缺点代码实现懒汉式常规版优缺点优点缺点代码实现方法全局锁定优缺点优点缺点代码实现单重检查优缺点优点缺点代码实现双重检查优缺点优点缺点代码实现线程安全与否剖析双重检查+volatile修饰优缺点优点缺点代码实现静态内部类优缺点优点缺点代码实现枚举优缺点优点缺点代码实现知识拓展相关面试题概念原文Ensure a class has only one instance, and provide a global p原创 2022-02-09 12:59:53 · 1241 阅读 · 0 评论 -
java加密算法之RSA篇
加密/** * 私钥加密 * * @param data 源数据 * @param privateKey 私钥 * @return * @throws Exception */ public static byte[] encryptByPrivateKey(byte[] data, String privateKey) { try { byte[] keyBytes = My原创 2022-02-07 14:38:07 · 703 阅读 · 0 评论 -
随机数Random报错 IllegalArgumentException: Bound must be positive
错误代码 private static Random RANDOM = new Random(); private static Integer randomOnce(Integer max, Integer min) { return RANDOM.nextInt(max) % (max - min + 1) + min; }报错信息java.lang.IllegalArgumentException: bound must be positive at j原创 2021-10-28 17:02:47 · 3687 阅读 · 0 评论 -
不要再吹python爬虫了,我大java明明也可以 | java爬取CSDN、知乎文章
爬取文章原创 2021-06-16 20:43:37 · 3007 阅读 · 0 评论 -
java加密算法之base64篇
转码String转码byte数组public static byte[] encodeStringForByte(String source) { return source == null ? new byte[]{} : Base64.encodeBase64(source.getBytes());}byte数组转码byte数组public static byte[] encodeStringForByte(byte[] source) { return source == n原创 2021-06-05 15:46:23 · 12480 阅读 · 0 评论 -
不知道java如何调用shell脚本?进来教你10行代码搞定
产品与开发的战争 前段时间,产品提了个挺离谱的需求:通过java服务启动自己所需要的数据库和redis。什么意思呢,意思就是我们需要提供一个java服务,但是呢,我们这个java服务用到的mysql和redis没有现成的,需要由这个java服务去安装部署mysql和redis,然后再提供给自己用。 emmmm…当时我人就傻了,后面我一想,产品原创 2021-06-04 14:47:08 · 16935 阅读 · 1 评论 -
java加密算法之JWT篇
加密字符串public static String token(String subject, String secretKey, Date date) { Key key = decodeKey(secretKey); String token = Jwts.builder().setExpiration(date).setSubject(subject).signWith(SignatureAlgorithm.HS256, key).compact(); String bas原创 2021-06-04 10:53:12 · 10273 阅读 · 0 评论 -
java加密算法之MD5篇
字符串转MD5 public static String toMD5(String str) { MessageDigest messagedigest; try { messagedigest = MessageDigest.getInstance("MD5"); messagedigest.update(str.getBytes("UTF-8")); return bufferToHex(messagedigest.digest()).t原创 2021-06-04 09:56:10 · 9561 阅读 · 0 评论 -
java加密算法之AES篇
加密字符串public static String encode(String encodeKey,String content){ try { KeyGenerator keygen= KeyGenerator.getInstance("AES"); SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); random.setSeed(encodeKey.getBytes());原创 2021-06-04 09:03:12 · 9587 阅读 · 0 评论 -
java加密算法之DES篇
闲话不多说,我们直接上干货加密 public static String encrypt(String datasource) { try{ DESKeySpec desKey = new DESKeySpec(PASSWORD.getBytes()); //创建一个密匙工厂,获取secretKey SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");原创 2021-06-04 08:51:24 · 13207 阅读 · 0 评论 -
java小学妹半夜打电话哭诉:刚入职竟然就要。。。。。。
人在家中坐,瓜从天上来 昨天晚上,恰逢夜深人静,正是撸代码的好时候,突然接到小学妹的电话,小学妹跟我一顿哭,把我给愁的,赶紧一顿关心等学妹缓过来之后,终于了解了来龙去脉,原来学妹刚入职进公司,上级就让她对接银行系统接口。emmm,大家都知道,银行系统大多是RSA加密数据交互的,小学妹这块完全不懂,弄了一天还没有搞定。我一听,嘿嘿,这下该我上场表演了,说不定十四亿的爱情终于轮到我了呢。公钥加密/** * 公钥加密原创 2021-06-03 16:59:55 · 12191 阅读 · 0 评论 -
java随机数组找出和为0的三个数
求三数之和为0给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:不能包含重复的三元组原题链接:https://leetcode-cn.com/problems/3sum/题解public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer&原创 2021-03-16 10:42:46 · 12701 阅读 · 0 评论 -
java最长公共前缀
leetcode学习题目链接: https://leetcode-cn.com/problems/longest-common-prefix/public String longestCommonPrefix(String[] strs) { String result = ""; int index = 1; out: while (true) { if (strs.length==0){原创 2021-03-08 14:38:01 · 9407 阅读 · 0 评论 -
Java数组内求两数之间最大容积
leetcode学习题目链接:https://leetcode-cn.com/problems/container-with-most-water/初解:public static int maxArea(int[] height) { int max = 0; int length = height.length; for (int i = 0; i < length; i++) { for (int j = length-1; j >i; j-原创 2021-03-08 10:31:44 · 9901 阅读 · 0 评论 -
java实现回文数判断
需求回文数是指正序(从左向右)和倒序(从右向左)读都是一样的正整数。例如,121 是回文,而 123 不是。解析public static boolean isPalindrome(int x) { int temp = x; //a取值整数的末位数 int a = temp % 10; while (true) { //小于10,直接返回 if (temp < 10) { break;原创 2021-03-05 14:29:28 · 14258 阅读 · 1 评论 -
java实现冒泡排序
冒泡排序原理代码实现原理依次比较相邻的两个数,将小数放在前面,大数放在后面代码实现public static void main(String[] args) { int[] arr = {6, 3, 11, 8, 2, 9, 1, -1}; System.out.println("排序前数组为:"); for (int num : arr) { System.out.print(num + " "); }原创 2021-03-05 10:09:44 · 14477 阅读 · 2 评论 -
设计模式详解
链接: http://c.biancheng.net/view/1317.html转载 2020-11-11 14:53:01 · 191 阅读 · 0 评论 -
hsql+mysql多数据源动态切换
业务背景最近有个需求:需要先启动一个web服务,然后这个服务去部署mysql,redis等相关服务,并且该服务要动态的把mysql和redis在不重启的情况加载进去。项目链接链接: link.原创 2020-11-10 17:41:34 · 9998 阅读 · 0 评论