【Java语言】
文章平均质量分 64
执于代码
职业画像详情:https://github.com/xiamaocheng,
其他:https://www.infoq.cn/profile/8E8D58FE040264/publish
展开
-
JAVA实现指定日期加几天方法总结
可以使用Java的Calendar类来实现指定日期加几天的方法。// 获取当前日期// 需要加的天数// 调用方法计算新日期System.out.println("原日期:" + date);System.out.println("加" + daysToAdd + "天后的日期:" + newDate);该代码定义了一个名为DateUtils的工具类,其中包含一个方法,用于将指定日期加上指定天数。在main方法中,我们首先获取当前日期,并指定需要加上的天数。然后调用。原创 2024-01-24 23:45:59 · 1391 阅读 · 0 评论 -
Java 动态树的实现思路分析
树形菜单非常常见的需求。原创 2023-12-30 09:34:55 · 582 阅读 · 0 评论 -
Spring项目中对XML文件热加载代码实现
平时我们进行Spring项目开发的时候,经常需要因为XML的改变而重启服务器,假如项目较大的时候,重启将会非常耗时。最近编写的webschool框架需要用到较多的XML文件进行配置,在这里参考公司代码,实现了对XML文件的热加载。在Spring中建立一个线程不断监控我们导入的xml文件是否已修改,一旦修改,马上重载。每次修改xml文件后,Spring都会对xml进行重新读取,自动覆盖原来的bean。//获得被修改过的location,然后往下再重新加载那些被修改过的xml文件。//通过特定的符号,;原创 2023-07-06 06:21:52 · 328 阅读 · 0 评论 -
Java fx入门
java fx 入门。转载 2023-03-07 09:29:40 · 282 阅读 · 0 评论 -
JDK集合的面试题大全
JDK面试题大全。转载 2023-02-28 17:48:22 · 83 阅读 · 0 评论 -
Java cp的命令
java -cp 命令。转载 2023-02-26 18:02:52 · 1820 阅读 · 0 评论 -
java jar 的修改
java jar 的是一个非常常见的需求。原创 2022-12-24 17:55:05 · 1120 阅读 · 0 评论 -
Java 表达式和并行流入门
网络爬虫的是一个非常常见的需求。1.URL管理2. 网页下载器3. 爬虫调度器4. 网页解析器5. 数据处理器取出集合中的元素做无序逻辑。无这里参考:github:简单实现上述流程:入门级实现:: 部分源码实现.: 源码实现无...原创 2022-06-14 07:46:31 · 107 阅读 · 1 评论 -
StringBuider 和StringBUffer 区别
我们从2方面考虑:共同点:StringBuider 和StringBUffer 都是String的特殊的线性数据结构。源码上:StringBuffer :1:定义public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequ...原创 2020-03-01 13:42:59 · 176 阅读 · 0 评论 -
使用模板文件加载Excel 输出模板
idea activiti 工作流安装插件目录概 述第一种方法:第二种方法:相关工具如下:分析:小结:参考资料和推荐阅读LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away原创 2021-10-31 17:48:09 · 124 阅读 · 0 评论 -
POI合并单元格--CellRangeAddress
(Apache POI HSSF从Excel工作表中删目录概 述删除内容删除行小结参考目录概 述删除内容删除行小结参考LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away f原创 2021-10-31 11:52:33 · 1038 阅读 · 0 评论 -
时间有关的操作
时间有关的操作目录概 述第一种方法:第二种方法:相关工具如下:分析:小结:参考资料和推荐阅读LD is tigger forever,CG are not brothers forever, throw the pot and shine forever.Modesty is not false, solid is not naive, treacherous but not deceitful, stay with good people, and stay away from poor peop原创 2021-10-24 00:07:44 · 61 阅读 · 0 评论 -
bean 属性COPY
bean 属性COPYLD is tigger forever,CG are not brothers forever, throw the pot and shine.Ride a donkey to find a horse, stay with good people, and stay away from poor people.talk is cheap, show others the code,Keep progress,make a better result....原创 2021-04-27 01:25:58 · 628 阅读 · 0 评论 -
关于多线程累积的和的几种方法:
方法一:使用线程池:package demo_0805_thread;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorCompletionService;import java.util.concurrent.原创 2020-08-05 21:33:43 · 370 阅读 · 0 评论 -
局部内部类特点和作用
接下来我们来看下一个实验:public class Outer3 { private int s = 100; private int out_i = 1; public void f(final int k) { final int s = 200; int i = 1; final int j = 10; ...原创 2020-03-05 16:55:13 · 838 阅读 · 0 评论 -
区分静态内部类的作用和特点
另一个实验:public class Outer2 { private static int i = 1; private int j = 10; public static void outer_f1() { } public void outer_f2() { } // 静态内部类可以用public,protected,pri...原创 2020-03-04 17:07:58 · 310 阅读 · 0 评论 -
LInkList 源码分析
1.集合结构:考虑几个个问题:1.概述2.重要方法实现 add方法: remove元素: 修改元素: 查找元素3.重要特性: 迭代方式, 扩容集合 4.使用场景:对1:概述如上图:实现dequar接口,集成AbstractequencnitonLi...原创 2020-02-24 14:24:43 · 160 阅读 · 0 评论 -
Java集合:ArrayList (JDK1.8 源码解读)
ArrayListArrayList几乎是每个java开发者最常用也是最熟悉的集合,看到ArrayList这个名字就知道,它必然是以数组方式实现的集合Arryaliste 特性是什么呢?关注点说一下ArrayList的几个特点,也是面试喜欢问的几个点:1.是否允许为空:是2.是否允许重复数据:是3.是否有序:是4.是否线程安全:否主要声明:pu...原创 2020-02-23 14:32:22 · 209 阅读 · 0 评论 -
区分了解Java 成员内部类特点和作用
我们来做一个实验:package demo_java;public class Outer { private static int i = 1; private int j = 10; private int k = 20; public static void outer_f1() { // do more somethi...原创 2020-03-03 17:48:06 · 200 阅读 · 0 评论 -
不能有长度超过2的重复字符串
//不能有长度超过2 的字符串重复字串 private static boolean dulpString(String s) { for (int i = 0; i < s.length()-2; i++) { //集合比较 String str=s.substring(i,i+3); ...原创 2020-03-02 16:19:34 · 1010 阅读 · 0 评论 -
set 元素如何顺序输出的问题
我们知道set 是无序集合,不能保证元素的顺序,但是如何能保障元素的有序性呢?set部分图如下:从图上可知:继承了Collection接口:这里给出两种方法:F1:LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代; 这样就能保证按照以顺序的元素输出了f2:实现Compaator 接口的方法...原创 2020-02-29 15:43:38 · 2667 阅读 · 0 评论 -
Treemap 源码分析
概念图如下:我们来简要分析一下:TreeMap 是由红黑树实现的有序的 key-value 集合。上类图:TreeMap 首先继承了 AbstractMap 抽象类,表示它具有散列表的性质,也就是由 key-value 组成。 其次 TreeMap 实现了 NavigableMap 接口,该接口支持一系列获取指定集合的导航方法,比如获取小于指定key的集合。 ...原创 2020-02-27 16:47:20 · 167 阅读 · 0 评论 -
hashSet 源码分析:
①:实现了Serializable接口,表明它支持序列化。②:实现了Cloneable接口,表明它支持克隆,可以调用超类的clone()方法进行浅拷贝。③继承了AbstractSet抽象类,和ArrayList和LinkedList一样,在他们的抽象父类中,都提供了equals()方法和hashCode()方法。它们自身并不实现这两个方法,(但是ArrayList和LinkedList的e...原创 2020-02-26 16:46:32 · 150 阅读 · 0 评论 -
java数据结构源码解读——Hashtable
概述:hashtable 类似hashTable 的数据结构。重要方法分析:public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable { private transient ...原创 2020-02-20 16:05:32 · 259 阅读 · 0 评论 -
HashMap源码详解
概述HashMap是基于哈希表(散列表),实现Map接口的双列集合,数据结构是“链表散列”,也就是数组+链表 ,key唯一的value可以重复,允许存储null 键null 值,元素无序。哈希表数组:一段连续控件存储数据,指定下标的查找,时间复杂度O(1),通过给定值查找,需要遍历数组,自已对比复杂度为O(n) 二分查找插值查找,复杂度为O(logn)线性链表:增 删除仅处...转载 2020-02-19 20:48:06 · 208 阅读 · 0 评论 -
HashMap 实现原理及源码分析
HashMap是JDK中非常重要的容器,采用数组 + 链表的方式实现,理想情况下能支持 O(1) 时间复杂度的增删改查操作。本文将由浅入深地讲解哈希表的实现原理,并对HashMap的部分源码进行分析。1. 从数组说起数组应该是我们最先学习的数据结构,它是内存中一块连续的存储单元,因此计算机可以根据数组起始地址、元素长度和下标,计算出我们要访问的元素的地址,时间复杂度为 O(1) 。以...原创 2020-02-18 16:24:40 · 162 阅读 · 0 评论 -
23. 合并K个排序链表
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5-6class Solution { public ListNode mergeKLists(ListNode[] lists) ...原创 2020-02-13 14:58:04 · 96 阅读 · 0 评论 -
IO模型区别:
4.1.201)原生NIO的问题 (1)NIO的类库和API复杂,使用麻烦,需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等; (2)需要具备其它的额外技能: 熟悉java多线程编程,因为NIO编程涉及到Reactor模式,你必须对多线程和网络编程非常熟悉, 才能编写出高质量的NIO程序; (3)开发...原创 2020-02-12 20:49:17 · 190 阅读 · 0 评论 -
sharedpreface:
1.引入相关依赖:2.common:public class SnowFlakeIDGenerator { private static SnowFlake snowFlake = null; private static long workid = 5; private static long datacenterId = 31; stat...原创 2020-02-05 11:20:17 · 161 阅读 · 0 评论 -
bio 实现
public class SocketServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(9000); while (true) { System.out.p...原创 2020-02-05 09:54:30 · 128 阅读 · 0 评论 -
生产者的消费者
@Componentpublic class MyConsumer { /** * @KafkaListener(groupId = "testGroup", topicPartitions = { * @TopicPartition(topic = "topic1", partitions = {"0", "1"}), * ...原创 2020-02-03 10:34:15 · 158 阅读 · 0 评论 -
Dubbo, 协议源码-rpc 模块
rpc模块是远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。这个模块的学习将使我们对服务的发布和调用更加清晰。重点学习这几个类的作用和它们的实现类:ProxyFactory、Invoker、Protocol、Exporter。Invoker这是一个可执行的对象,能够根据方法,参数得到执行结果,代码如下:public interface Invoke...原创 2020-01-27 16:19:03 · 109 阅读 · 0 评论 -
Dubbo 《Dubbo进阶三》——调用模块
dubbo调用模块核心功能是发起一个远程方法的调用并顺利拿到返回结果,其体系组成如下:透明代理:通过动态代理技术,屏蔽远程调用细节以提高编程友好性负载均衡:当有多个提供者是,如何选择哪个进行调用的负载算法容错机制:当服务调用失败时采取的策略调用方式:支持同步调用、异步调用结果获取:指同步等待结果返回,还是异步通过回调通知获取结果:1.负载均衡:Dubbo 目前官方支持...原创 2020-01-27 14:13:11 · 653 阅读 · 0 评论 -
Dubbo 开源的分布式服务框架
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和[1]Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。主要核心部件:Remoting:网络通信框架,实现...原创 2020-01-27 11:56:56 · 309 阅读 · 0 评论 -
并发编程问题
JQC的问题:如果就是可定需要的自己的CPU的指令的,很简答思路是:手动加屏障,直接的用过的是什么的类的,bootstrp 的应的加载。双亲委派机制:安全机制的非常高,否则的话,用反射来用他unsage字段,然后基于他操作,用unstaintea,relagetUnasg,instarore ();一旦加上之后,看过之类的并发问题,只能类加载器的,跟的...原创 2020-01-17 16:15:31 · 119 阅读 · 0 评论 -
Myibtis if 语句
myibits带条件的select写:<whentest='startNo!=nullandpageSize!=null'> LIMIT#{startNo},#{pageSize} </when>原创 2019-10-25 22:46:34 · 284 阅读 · 0 评论 -
lomback 的安装
很简单,三步使用lombok eclipse 安装插件,引入maven依赖,使用注解1.安装插件下载 lombok.jar (https://projectlombok.org/download.html) 下载后放到eclipse 的安装目录, 在eclipse.ini 文件中加入-Xbootclasspath/a:lombok.jar-javaagent:lo...原创 2019-10-17 19:14:27 · 665 阅读 · 0 评论 -
Java 泛型
以下代码片段打印什么?List <String> l1 = new ArrayList <String>(); List <Integer> l2 = new ArrayList <Integer>(); System.out.println(l1.getClass()== l2.getClass());你可能会想说false,但你错...翻译 2018-10-02 15:52:33 · 131 阅读 · 0 评论 -
汉字截取问题
https://www.cnblogs.com/cuker919/p/4878517.html参看的文字字符换的汉字的内容:下面我们就以GBK编码为例来进行解答。我们不能直接使用String类的substring(int beginIndex, int endIndex)方法,因为它是按字符截取的。'我'和'Z'都被作为一个字符来看待,length都是1。实际上我们只要能区分开中文汉字和...转载 2018-10-13 19:34:03 · 353 阅读 · 0 评论 -
Java——通配符
考虑编写打印出集合中所有元素的例程的问题。以下是您可以在旧版本的语言中编写它(即5.0之前的版本):void printCollection(Collection c){ Iterator i = c.iterator(); for(k = 0; k <c.size(); k ++){ 的System.out.println(i.next()); ...翻译 2018-09-30 18:29:25 · 979 阅读 · 0 评论