202108-25 深入理解Java中的HashMap 目录一、HashMap的结构图示二、HashMap的成员变量以及含义2.1、hash方法说明2.2、tableSizeFor方法说明三、HashMap的构造方法四、HashMap元素在数组中的位置五、HashMap的put方法分析5.1、put方法源码分析5.2、put方法执行过程总结六、HashMap的resize方法分析6.1、resize方法源码6.2、(e.hash&oldCap)==0分析6.3、部分代码理解6.4、resize总结七、HashMap的get方法分析7.1、get方法源码一、HashMap的结构图示本文主要... 继续阅读 >
202108-25 详解Java中的ThreadLocal 目录一、ThreadLocal简介二、ThreadLocal简单使用三、ThreadLocal的实现原理1、set方法源码2、get方法源码3、remove方法的实现四、ThreadLocal不支持继承性五、InheritableThreadLocal类六、从ThreadLocalMap看ThreadLocal使用不当的内存泄漏问题1、基础概念2、分析ThreadLocalMap内部实现七、总结一、ThreadLocal简介多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全... 继续阅读 >
202108-25 详解Java网络编程 目录一、网络编程1.1、概述1.2、计算机网络基础1.3、网络通信要素概述1.4、IP地址和端口号(组合就是网络套接字)1.5、网络协议1.6、三次握手与四次挥手二、TCP网络编程2.1、Socket介绍2.2、基于Socket的TCP编程2.3、TCP编程简单C/S通信示例2.4、TCP编程实现C/S文件传输2.5、TCP编程实现C/S信息反馈三、UDP网络编程3.1、UDP网络通信3.2、UDP网络通信流程3.3、UDP网络通信代码实现四、URL网络编程4.1、URL介绍4.2、URL类与类的构造器4... 继续阅读 >
202108-25 Java mutable对象和immutable对象的区别说明 Javamutable对象和immutable对象的区别今天读jdk源码中Map.java时看到一句话:greatcaremustbeexercisedifmutableobjectsareusedasmapkeys;第一次知道mutable对象这个概念,google了一下,维基百科定义如下:“Inobject-orientedandfunctionalprogramming,animmutableobject(unchangeable[1]object)isanobjectwhosestatecannotbemodifiedafteritiscreated.[2]Thisisincontrasttoamutable... 继续阅读 >
202108-25 java ImmutableMap的使用说明 ImmutableMap:一个不可变集合java中的Immutable对象:简单地说,如果一个对象实例不能被更改就是一个Immutable的对象,JavaSDK提供的大量值对象,比如String等都是Immutable的对象。创建ImmutableMap:Map<String,Object>immutableMap=newImmutableMap.Builder<String,Object>().build();在创建时放值:Map<String,Object>immutableMap=newImmutableMap.Builder<String,Object>().put("k1","v1").put("k2","v2")... 继续阅读 >
202108-23 浅谈ArrayList和LinkedList到底谁更快 目录一、ArrayList和LinkedList究竟谁快二、结果三、循环Add四、指定位置Get五、指定位置Add一、ArrayList和LinkedList究竟谁快在Java中应该都知道ArrayList和LinkedList,一直以来的概念呢是ArrayList在get(index)这个应该比LinkedList快;LinkedList比ArrayList在add(index,element)快;两者共同遍历呢,应该是一样快的,毕竟都要循环遍历一遍。直到我写了一个测试类packagecom.lw;importjava.util.ArrayList;importjava.uti... 继续阅读 >
202108-23 详解Java多线程与并发 目录一、进程与线程二、并发与并行1、线程安全问题2、共享内存不可见性问题三、创建线程1、继承Thread类2、实现Runable接口3、实现Callable接口四、Thread类详解1、线程特性2、Init方法3、构造方法4、线程状态5、Start方法6、yield方法7、sleep方法8、join方法五、其他方法1、wait方法2、notify方法3、notifyAll()方法六、实例1、sleep2、join和中断(推荐用标记中断)3、优先级和守护进程4、生产者与消费者一、进程与线程进程:是... 继续阅读 >
202108-23 Java代码里如何拼接SQL语句到mybatis的xml 关键语句:StringBuilderwhereSql=newStringBuilder();whereSql.append("SQL");实现类:publicListgetList(Map<String,Object>map){List<Map<String,Object>>rs=newArrayList<Map<String,Object>>();try{StringBuilderwhereSql=newStringBuilder();if(map.get("userName").toString().length()>0){whereSql.append("ANDa.userNamein('"+map.get("userName").toString().replaceAll(",... 继续阅读 >
202108-22 教你在一分钟之内理解Java Lambda表达式并学会使用 目录一、前言二、Lambda表达式语法三、运行Lambda表达式示例的环境要求。四、示例1:将Runnable与Lambda表达式结合使用五、示例2:使用Lambda表达式的自定义函数接口示例六、示例3:将比较器(Comparator)与Lambda表达式结合使用七、示例4:使用函数接口迭代带有Lambda表达式的集合八、参考文献一、前言Lambda表达式是java8中包含的重要功能之一。Lambda表达式用于为由一个方法组成的接口编写简洁的代码,... 继续阅读 >
202108-22 Flink支持哪些数据类型? 目录一、支持的数据类型二、Flink之Tuple类型三、Tuple的使用四、Flink之POJO类型五、Flink之基本类型六、Flink之通用类型七、Flink之值类型Values八、Flink之Hadoop的Writable类九、Flink之特殊类型一、支持的数据类型Flink对可以在DataSet或DataStream中的元素类型进行了一些限制。这样做的原因是系统会分析类型以确定有效的执行策略。1.JavaTuple和ScalaCase类;2.JavaPOJO;3.基本类型;4.通用类;5.值;6.HadoopWr... 继续阅读 >
202108-22 java数据库连接池新手入门一篇就够了,太简单了! 目录1、什么是数据库连接池2、为什么需要连接池,好处是什么?3、都有哪些连接池方案4、连接池需要关注的参数5、怎么创建连接池,showmethecode6、总结1、什么是数据库连接池就是一个容器持有多个数据库连接,当程序需要操作数据库的时候直接从池中取出连接,使用完之后再还回去,和线程池一个道理。2、为什么需要连接池,好处是什么?1、节省资源,如果每次访问数据库都创建新的连接,创建和销毁都浪费系统资源2、响应性更好,... 继续阅读 >
202108-22 java面试常见模式问题---单例模式 目录1、简介2、单例模式——懒汉式3、单例模式——饿汉式总结1、简介单例模式使⽤场景:业务系统全局只需要⼀个对象实例,⽐如发号器、redis连接对象等。SpringIOC容器中的Bean默认就是单例。SpringBoot中的Controller、Service、Dao层中通过@Autowire的依赖注⼊对象默认都是单例的。单例模式分类:懒汉:就是所谓的懒加载,延迟创建对象,需要用的时候再创建对象。饿汉:... 继续阅读 >
202108-22 java面试常见模式问题---代理模式 目录1、静态代理2、动态代理面试题一:JDK动态代理和CGLIB动态代理区别?面试题二:JDK动态代理为什么只能对实现了接口的类生成代理?总结本篇总结的是代理设计模式,后续会经常更新~代理模式最直观的解释就是,通过代理,将被代理对象“增强”!(即,扩展被代理对象的功能)代理模式分为静态代理,和动态代理:动态代理的代理类是动态生成的,静态代理的代理类是我们提前写好的逻辑。Java中实现动态代理的方... 继续阅读 >
202108-20 java集合类HashMap源码解析 目录Map集合HashMap源码分析1、存储结构2、拉链法的工作原理3、put()方法4、确定桶下标4.1、确定hash值4.2、取模确定桶下标5、扩容原理6、扩容-重新计算桶下标7、计算数组容量8、JDK1.8开始,链表转换为红黑树get()我们能否让HashMap同步?Map集合Map集合存储的是键值对Map集合的实现类:HashTable、LinkedHashMap、HashMap、TreeMapHashMap基础了解:1、键不可以重复,值可以重复;2、底层使用哈希表实现;3、线程不安全;4、允许... 继续阅读 >
202108-20 java如何导出insert语句并生成sql脚本 看代码吧~packagecom.mtpc.admin.controller.exportSql;importch.qos.logback.classic.db.names.ColumnName;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.sql.*;importjava.util.ArrayList;importjava.util.List;publicclassExportSqlController{privatestaticConnectionconn=null;privatestaticStatementsm=null;private... 继续阅读 >
202108-20 java实现简易的五子棋游戏 本文实例为大家分享了java实现简易五子棋游戏的具体代码,供大家参考,具体内容如下先上效果图一、问题分析1、五子棋游戏分析:五子棋作为较为普遍且简易的娱乐游戏,受到众多人的热爱,且五子棋AI也是一个较为容易实现的AI。下面我们先来分析游戏规则。(哈哈,虽然大家都知道,但我还是想写写)双方分别使用黑白两色棋子,下在棋盘横线交叉处,先连成五子者胜利。(黑棋禁手啥的规则在我的程序里没加,就不赘述了)。2、程序分析... 继续阅读 >