java
文章平均质量分 56
爱吃rabbit的mq
这个作者很懒,什么都没留下…
展开
-
递归查询demo
【代码】递归查询demo。原创 2022-08-29 09:10:39 · 175 阅读 · 0 评论 -
list集合根据某字段进行排序
list集合根据某字段进行排序。原创 2022-07-27 17:45:48 · 19945 阅读 · 1 评论 -
TCP的三次握手与四次挥手
首先说一下tcp请求三次握手的过程,假如您是服务端,我是客户端,您是处于一直监听的状态,我现在发送一个请求,您接受到我发起的连接请求后,返回报文给我表示您已收到我发送的连接请求,我再次向您(服务端)发送确认收到允许链接的请求,总共三次(我→你,我←你,我→你),经过三次握手请求建立成功。接下来再说一下为什么需要三次握手,其实是为了防止服务端开启过多连接,造成资源浪费,如果说我发送请求的过程中网络迟滞了,很长时间才到达您那边,这时候我认为之前的请求发送失败了,我会重新发送请求,然而之前我发送的请求经过很长时原创 2021-10-11 10:58:55 · 101 阅读 · 0 评论 -
基于序列化实现对象深拷贝(工具类)
被拷贝对象一定要实现Serializable接口public class DeepCloneUtil { public static Object deepClone(Object obj){ Object copyObj=null; try { //对象序列化 ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOu原创 2021-09-29 10:57:57 · 107 阅读 · 0 评论 -
java深拷贝和浅拷贝
关于Java的深拷贝和浅拷贝,简单来说就是创建一个和已知对象一模一样的对象。可能日常编码过程中用的不多,但是这是一个面试经常会问的问题,而且了解深拷贝和浅拷贝的原理,对于Java中的所谓值传递或者引用传递将会有更深的理解。创建对象的5种方式①、通过 new 关键字这是最常用的一种方式,通过 new 关键字调用类的有参或无参构造方法来创建对象。比如 Object obj = new Object();②、通过 Class 类的 newInstance() 方法这种默认是调用类的无参构造方法创建对象。转载 2021-06-28 15:31:44 · 192 阅读 · 0 评论 -
为什么说Java中只有值传递
在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了。如果你有以下想法,那么你有必要好好阅读本文。错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果是个引用,就是引用传递。错误理解二:Java是引用传递。错误理解三:传递的参数如果是普通类型,那就是值传递,如果是对象,那就是引用传递。实参与形参我们都知道,在Java中定义方法的时候是可以定义参数的。比如Java中的main方法:public static void main(String[] args)这转载 2021-06-24 11:22:47 · 327 阅读 · 0 评论 -
java静态内部类的作用
需要了解2个概念:内部类和静态修饰符static1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。以下举例说明怎原创 2021-05-17 14:18:33 · 2978 阅读 · 1 评论 -
Java中hashCode的作用
关于HashCode的官方文档定义:hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。hashCode 的常规协定是:在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。如果根据 equals(Object) 方法,两个对象是相等的,转载 2021-05-11 11:07:55 · 146 阅读 · 0 评论 -
利用Threadlocal解决类成员变量线程不安全问题
@controlerpublic class UserHandler extends BaseControler{ //这种方式引用全局变量Person,将会导致某一个线程对person进行修改时,其他线程获取person时会获取上一个线程修改后的person对象 Person person=new Person(); //解决方案,使用threadlocal private static ThreadLocal<Person> threadLocal=new ThreadLoc原创 2020-12-09 11:24:07 · 445 阅读 · 1 评论 -
java8 对hashmap底层实现原理的理解
在java8中hashmap的底层数据结构是Node数组,Node数组的数据结构是链表,当链表达到一定长度(8)将转为红黑树,这也是为什么说java8中hashmap是由数组+链表+红黑树组成。原创 2020-12-04 16:26:52 · 559 阅读 · 0 评论 -
集合(List)中按照泛型的某一个属性进行排序的两种方法
集合中按照泛型的某一个属性进行排序,可以自定义Collecions.sort方法泛型(自定义的类)需要实现Comparable接口,并重写compareTo方法实现代码如下自定义的Person类public class Person implements Comparable<Person>{ private String name; private int a...原创 2020-03-19 14:30:27 · 672 阅读 · 0 评论 -
java环境变量配置
1.系统变量→新建JAVA_HOME 变量 。变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0)2.系统变量→寻找 Path 变量→编辑在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)3.系统变量→新建 CLASSPATH 变量变量值填写 .;...原创 2019-10-15 09:09:22 · 147 阅读 · 0 评论 -
Multipartfile与File类型相互转换
1、M转FFile file = new File(path); FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), file); 2、F转MFile file = new File("src/test/resources/input.txt");FileInputStream input = new...原创 2019-07-02 14:13:56 · 2118 阅读 · 0 评论 -
json转list
比如说List<Strudent>List转JsonList<Student> students = new ArrayList();String str = JSON.toJSONString(students); // List转jsonJson 转List 方法一String json = ""; //获取的Json数据List<Student...原创 2019-06-06 16:50:01 · 231 阅读 · 0 评论