- 博客(50)
- 资源 (10)
- 收藏
- 关注
原创 Java8 根据对象成员变量去重
//根据userGroupId去重List groups = userGroups.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() ->new TreeSet<>(Comparator.comparing(UserGroup::getUserGroupId))), ArrayList::new));
2020-05-29 14:33:08 409 1
原创 git配置完SSH以后,push或者pull的时候每次都提示Enter passphrase for key '/Users/name/.ssh/id_rsa':
解决方法:ssh-add -k ~/.ssh/id_rsa然后输入密码回车即可。
2020-04-24 10:49:09 639
原创 Java1.7 HashMap的死循环原因
原文链接:https://coolshell.cn/articles/9606.htmlhttps://blog.csdn.net/v123411739/article/details/78996181
2019-12-20 15:01:28 322
原创 待优化的代码
List<ActiveSub> activeSubs = ActiveSubMapperUtil.selectSubActiveShopList(activeSub, isInValidityPeriod, page, pageSize); List<Integer> activeIds = activeSubs.stream().map(A...
2019-12-02 18:08:16 230
原创 GBK格式文本转为UTF-8格式
/** * gbk格式文本转为utf-8 */public class GBKToUTF8Util { private static String path1 = "C:\\Users\\Desktop\\temp1\\"; private static String path2 = "C:\\Users\\Desktop\\temp2\\"; public sta...
2019-09-30 10:50:55 525
原创 类加载机制
一个Java文件从编码完成到最终执行,一般主要包括两个过程编译运行编译,即把我们写好的java文件,通过javac命令编译成字节码,也就是我们常说的.class文件。运行,则是把编译生成的.class文件交给Java虚拟机(JVM)执行。而我们所说的类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。例子,JVM在执行某段代码...
2019-09-10 20:50:08 119
原创 volatile关键字
两个作用:(一)防止指令重排(二)保证内存可见性指令重排序:是JVM为了优化指令,提高程序运行效率,在不影响单线程程序执行结果的前提下,尽可能地提高并行度。编译器、处理器也遵循这样一个目标。注意是单线程。多线程的情况下指令重排序就会给程序员带来问题。指令重排序包括编译器重排序(编译器)和运行时重排序(处理器)。示例说明: double r = 2.1; //(1)double pi =...
2019-09-10 20:35:01 176
原创 两个栈实现队列和两个队列实现栈 Java
public class Test07 { /** * 用两个栈实现一个队列(先进后出) * 队列的声明如下:实现它的两个函数appendTail(队列尾部插入结点)和deleteHead(队列头部删除结点) */ public static class MyQueue<T> { private Stack<T>...
2019-07-30 17:58:53 196
原创 求数的平方根
/** * 求i的平方根 * * @param i 需要计算的数值 * @return */ public static double sqrt(int i) { if (i == 0) { return 0; } double low = 0; dou...
2019-06-15 15:51:54 357
原创 sql去重查询
select distinct(user_id) FROM activity_third_coupon where type = 'qunarSendCoupon';select * from activity_third_coupon where id in (select max(id) from activity_third_coupon group by user_id) and ty...
2019-06-14 19:48:17 12357
原创 二叉树的深度优先遍历和广度优先遍历
度优先遍历:前序遍历,中序遍历,后序遍历广度优先遍历:层次遍历定义二叉树node节点:public class TreeNode { private int data; private TreeNode right,left; public int getData() { return data; } public void set...
2019-05-10 19:23:03 186
原创 线程池总结
线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配、调优和监控,有以下好处:1、降低资源消耗,减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务;2、提高响应速度;3、提高线程的可管理性,对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。Java1.5中引入的Executor框架把任务的提交...
2019-04-25 18:33:49 170
原创 Spring Cloud Bus安装RabbitMQ
用Spring Cloud Bus实现通知微服务架构的配置文件的更改,需要使用到RabbitMQ。使用这个版本的erlang和rabbitmq测试可用,下载地址:https://download.csdn.net/download/qq_35917800/11124992一. 安装ErlangRabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装E...
2019-04-18 10:30:17 688
原创 本地项目推到github上
把本地一个github-demo的项目推到github上,先去github上new一个新的仓库:创建完毕会生成一个远程仓库的地址,待会会使用到使用Git Bash进入到github-demo文件夹下:git remote add origin git@github.com:zhangzhuang1995/github-demo.git,后面的这个地址即为远程仓库的地址。操作完毕后,...
2019-04-15 17:46:53 195
原创 mybatis批量将list数据(对象)插入到数据库
对象属性public class ActiveSendPushValueConfig { private Integer id; private Integer sendPushId; private String value; public Integer getId() { return id; } public v...
2019-04-12 11:15:48 4257 1
原创 查询每年成绩前三名的学生
创建表:CREATE TABLE `test` ( `id` int(11) NOT NULL, `year` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `score` int(255) DEFAULT NULL, `name` varchar(255) COLLATE utf8mb4_unicode_ci DEF...
2019-04-10 17:00:59 650
原创 项目中调用webservice接口
根据wsdl生成接口代码,使用jdk自带的wsimport,cmd到jdk/bin安装目录下:wsimport -keep -p com.demo.client -s D:\temp http://106.14.197.163:8017/BaseInfoService.svc?wsdl得到代码:找到BaseInfoService和IBaseInfoService,可以看到IBaseInfo...
2019-03-11 17:57:36 687
原创 Redis分布式锁的实现
分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。具有容错性。只要大部分的Redis节点正常运行,客户端就可以...
2019-02-22 11:40:24 149
原创 字符串二分查找、快速排序
public class Main { /** * 字符串的二分查找 * @param str * @param strs * @return */ public static int binarySearch(String str, String[] strs) { int low = 0, high = strs...
2019-02-19 18:07:29 578
原创 Sql语句将0,1转化为男女性别
SELECT id, phone, name,CASE gender WHEN '1' THEN '男' WHEN '2' THEN '女' END AS gender, start_city, end_city, story, create_time FROM active_collection_story;
2019-01-25 14:34:11 10261
原创 Java信任SSL证书(三行代码解决PKIX path building failed问题)
使用Apache HttpClient包,发送http请求,解决PKIX path building failed,信任SSL证书问题:import org.apache.commons.lang.StringUtils;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apa...
2019-01-22 19:45:28 16809 16
原创 加解密(AES、RSA)、加验签(RSA)、生成公私钥
package util;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Unsup...
2018-11-09 17:19:26 3724 1
原创 产生死锁的一段代码
public class Main { public static void main(String[] args) { Object obj1 = new Object(); Object obj2 = new Object(); new Thread(new Runnable() { public voi...
2018-09-16 18:01:08 742
原创 数组的并集、交集、差集
public class Test { public static void main(String[] args) { Integer[] m = { 1, 2, 3, 4, 5 }; Integer[] n = { 3, 4, 6 }; System.out.println("----------并集------------"); ...
2018-09-06 23:57:24 1398
原创 生产者消费者的3种实现方式
/** * 一、使用synchronized、wait、notify实现生产者,消费者模式 */ public class ProducerConsumerWaitNofityAll { public static void main(String[] args) { Queue queue = new LinkedList(); new T...
2018-07-10 22:25:03 365
原创 多个线程向一个文件写数据
package com.bean;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.Writer;/** * 多个线程向一个文件写数据 */public class ThreadDemo{ static Write write = new Wri...
2018-06-23 20:22:50 2299
原创 Condition多个线程顺序执行
package thread;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 使用多个Condition线程通信 * 第一个线程循环10,第二个线程循环10次...
2018-03-14 16:06:31 405
原创 使用Condition实现有界缓存区
package thread;import java.util.Random;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 缓冲区,支持put、get数据,...
2018-03-14 15:38:09 216
原创 子线程循环10次,主线程循环100次,如此循环100次
package thread;/** * 一、使用wait、notify * 子线程循环10次,主线程循环100次,如此循环100次。 */public class SubMainThreadDemo{ public static void main(String[] args) { final Business business = new Busi...
2018-03-14 11:39:48 2085
原创 ReadWriteLock读写锁
package thread;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;//缓存系统public class CacheDem...
2018-03-13 18:06:34 147
原创 图片、文件的拷贝(IO流)
IO流,图片、文件的拷贝:package util;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;imp...
2018-03-06 15:07:46 254
原创 第七届蓝桥杯Java语言B组第十题代码
第七届蓝桥杯Java语言B组真题(省赛)第十题题目:压缩变换 (程序设计)小明最近在研究压缩算法。 他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。 然而,要使数值很小是一个挑战。最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字。对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值。变换的过程如下:...
2018-02-28 23:17:46 286
原创 RSA加密、解密、加签、验签以及生成公私钥
RSA加解密、加验签、生成公私钥代码如下:package util;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOExceptio...
2018-02-24 16:52:57 6468 3
原创 Redis哨兵模式搭建
一、安装redis 下载redis安装包:redis-3.2.4.tar.gz 解压redis压缩包 解压后目录 进入redis-3.2.4 安装redis 安装完成后,输入redis-server -v,出现以下结果,即为安装成功 二、搭建redis集群 创建文件夹redis-sentinel,mkdir redis-sentinel 复制redis...
2018-02-09 11:25:05 299
原创 Java中HashMap遍历的四种方式
package bean;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import java.util.UUID;public class HashMapDemo{ publi...
2018-02-08 09:56:42 457
原创 关于XML解析的一些代码
最近项目中需要添加一个给客户发送消息的功能,需要把消息模板放在xml文件中,模板如下:root> name>张三name> age>23age> notice>尊敬的 {0} 用户,您好:平台撤销了 {1} 产品下的 {2}、{3} 服务,请您根据情况进行修改!notice>root>需要在相对应的位置上输入用户名、产品名、服务名等信息,写了一个解析xml的工具类,如下
2018-02-06 11:16:59 1851
原创 synchronized关键字
Java中的每一个对象都有一个内部锁。如果一个方法用synchronized关键字声明,那么对象的锁将保护整个方法。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内部锁的唯一途径就是进入这个锁保护的同步代码块或方法。synchronized关键字主要有修饰代码块和修饰方法两种用法:1、synchronized关键字修饰一般方法和代码块(使用的是Java对象锁)
2017-12-09 18:25:48 192
原创 单向链表的一些操作实现-Java实现
链表作为最基本的数据结构,在程序设计中有着很重要的作用。存储特点如下:可以用任意一个存储单元来存储单链表中的数据元素,还必须存储指示其直接后继元素的信息。这两部分组成的数据元素称为一个结点,N个结点链在一块称为链表,当结点只包含其后继结点信息的链表称为单向链表。同理当结点既包含其后继结点信息又包含其上一个结点信息的链表称为双向链表。下面为一些操作单向链表的方法实现:package test;/**
2017-11-30 13:11:24 358
原创 No converter found for return value of type解决方法
最近在学习SpringMVC过程中,项目在ajax与后台交互的时候,前台的ajax一直接收不到后台Controller返回来的包装类对象的json数据,spring版本为4.2.4,java对象和json对象转换一直报错:java.lang.IllegalArgumentException: No converter found for return value of type: class cn.
2017-11-05 22:01:40 20154 6
Erlang和RabbitMQ
2019-04-18
工具包、软件安装包
2018-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人