java初-中级
java初-中级相关的记录分类专栏
木秀林
多年java老兵,深耕Java,喜欢研究源码,热衷于探索最新技术,持续建设自己的知识体系,希望我的文章能帮到你~
展开
-
JaCoCo Maven 插件 - 聚合多模块maven 报告
这是一个非常有用的指标,可以帮助您评估测试套件的质量。原创 2022-08-26 10:58:37 · 5168 阅读 · 51 评论 -
websocket 传输大文件 参考官方配置 解决方法
websocket 大文件传输问题解决办法环境为spring boot 2+网上找了很多博客写法 其中一位写的比较详细的使用websocket进行断点续传文件但是其中的写法使用 好像并没有用 /** * 当websocket连接成功的时候就是准备上传文件的时候 * @param session */ @OnOpen public v...原创 2019-12-03 22:04:23 · 7428 阅读 · 0 评论 -
jdk8底层源码阅读 HashMap源码解析
文章目录Hash Map 解析重要计算方式重要内部变量及结构构造函数解析赋值函数解析扩容函数解析扩容函数调用关系树化与反树化函数解析树化函数树化函数之自平衡算法Hash Map 解析HashMap是基于哈希表的Map接口的实现类,此实现提供所有可选的映射操作,并且允许null值和null键。HashMap类大致相当于哈希表,不同步,允许空值,不保证放入顺序,提供基本的操作稳定的性能(get和put),fail-fast迭代HashMap中的一个实例具有影响其性能的两个参数: 初始容量和负载因子。作原创 2020-06-02 16:57:33 · 426 阅读 · 0 评论 -
jdk8 新特性真的只有流和lambda表达式吗?一篇文章帮你分析透彻
文章目录正文接口默认实现和静态方法java.util.Optional 类Stream流lambda 表达式方法引用 , 构造器引用核心函数与函数接口日期时间新api源码改造HashMap CurrentHashMap重复注解,和注解类型的注解虽然现在jdk已经更新到了14.0.1 , 但是国内大部分用的版本是jdk8 , 很多时候我们只知道jdk有lamda表达式和流,其实除此之外你能够知道别人不知道的点,那么这就是你面试中的亮点,了解到熟练差距可能就在这里,同时作为自己的一个知识积累也是不错的.正文原创 2020-06-14 17:11:32 · 305 阅读 · 0 评论 -
Elasticsearch入门到精通第二篇-查询分析
上一节中,完成了Elasticsearch 基础概念,以及安装与简单查询,那么在更复杂的查询操作场景下我们应该如何操作呢?本节之后就能够完成对es的更复杂操作在关系型数据库中操作数据的语句为SQL,在 Elasticsearch 中采用 领域特定语言 (DSL), 使用 JSON 构造了一个请求 .上节中查询全部的数据为:GET /megacorp/employee/_search查询特定条件,如:查询所有名字为Smith的结果GET /megacorp/employee/_search原创 2020-06-18 11:21:47 · 768 阅读 · 0 评论 -
Elasticsearch入门到精通第一篇-基础概念到安装查询
本系列文章记录,摘要,总结 对Elasticsearch 的系统学习,基于官方文档 Elasticsearch 2.x 版本 , 内容可能过时 基础入门Elasticsearch 是什么Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库,但是很复杂.Elasticsearch 使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但它使全文检索变得简单, .原创 2020-06-10 19:52:06 · 178 阅读 · 0 评论 -
es RefreshPolicy.IMMEDIATE 不生效?
基础知识首先,我们知道,es中刷新策略:默认情况下ElasticSearch索引的refresh_interval为1秒,这意味着数据写1秒才就可以被搜索到。每次索引refresh会产生一个新的 lucene 段,这会导致频繁的 segment merge 行为,对系统 CPU 和 IO 占用都比较高。如果产品对于实时性要求不高,则可以降低刷新周期,如:index.refresh_interval: 120s。但是这种特性对于功能测试来说比较麻烦:因为实时性不能保证,所以每次插入测试数据之后,都原创 2021-08-25 09:58:04 · 1333 阅读 · 3 评论 -
zookeeper 简介与应用范围
Zookeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调, 但是这些系统往往都存在分布式单点问题。所以,雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架, 以便让开发人员将精力集中在处理业务逻辑上。ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式原创 2021-03-10 17:31:04 · 134 阅读 · 0 评论 -
zookeeper 数据模型
zookeeper 数据节点可以看做是树状或者是目录形式,每个节点称为ZNode原创 2021-03-10 17:37:03 · 157 阅读 · 0 评论 -
jdk8 Comparator类快速排序 多个排序规则
import lombok.AllArgsConstructor;import lombok.Data;import java.util.ArrayList;import java.util.Comparator;public class Compare { @Data @AllArgsConstructor static class PO { int a; int b; } public static void main(String[] args) { Ar...原创 2021-04-14 20:48:20 · 446 阅读 · 0 评论 -
关于web工程乱码问题-解决方案及编码习惯养成
相信许多新手会和我开始时一样在web工程或者其他涉及到文件打开时会发生文字乱码,这种情况一般都是中文产生乱码,所以特别记录下乱码产生原因及解决方案。不想了解全部流程,或只想知道如何操作解决问题直接看第三点。在程序设计过程中经常会遇到中文乱码现象。这是程序在编写、转化、编译输出、显示过程中,中文编码设置不一致而造成的。想要解决中文乱码现象,必须了解字符编码的过程。一、字符从用原创 2017-09-24 14:53:15 · 425 阅读 · 0 评论 -
mysql jdbc 连接池配置
配置MySQL数据库连接池原创 2017-09-20 21:55:31 · 2386 阅读 · 3 评论 -
【算法基础】图快速理解学习
在线性表中,数据元素之间是被串起来的,仅有线性关系。可现实中,人与人之间社交关系就非常复杂,比如我认识的朋友,可能他们之间也互相认识,这就不是简单的一对一、一对多, 研究人际关系很自然会考虑多对多的情况。所以有了图,这里我们快速学习理解一下图的知识...原创 2022-07-06 13:14:42 · 196 阅读 · 2 评论 -
开发bug:ApplicationListener 自定义事件接收不到
事件源不支持泛型https://juejin.cn/post/6970132768063750152#_421原创 2022-03-10 11:46:28 · 718 阅读 · 0 评论 -
编程感悟篇 通过函数接口,延迟查询 提高业务代码性能
业务场景断言工具类,通常原创 2020-11-09 09:25:56 · 100 阅读 · 0 评论 -
尚硅谷JUC源码学习笔记总结
文章是学习 尚硅谷JUC源码讲授实战教程完整版(java juc线程精讲) 时做的笔记与总结volatile 关键字特性内存可见性在同一进程的不同线程访问进程共享数据时,会将共享变量加载到当前cpu缓存中,因此不同线程对共享数据的修改不能及时在其他线程读取中体现,内存可见性就能够在写的时候强制刷新到主存中,这样就避免了其他线程的脏读代码案例代码本意:在线程run中 更改 状态变量之后打印,main线程中循环读状态变量,如果为真打印停止bug原因:当对非 volatile 变量进行读写的时候,.原创 2020-10-10 17:55:09 · 1161 阅读 · 0 评论 -
面试必问系列 创建线程池有哪几种方式?
创建线程池有哪几种方式?Executors.newFixedThreadPool(4);实际实现 new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>())固定线程数为4 同时超出线程数将放在 LinkedBlockingQueue 中 默认是Integer.MAX_VALUE 可能阻塞过多可能出现 oomExecutors原创 2020-10-10 17:43:12 · 889 阅读 · 0 评论 -
Java中单例模式的7种写法 附注释和源码
1. 懒汉式单例模式[不推荐]/**** * 懒汉式 单例模式 * 线程不安全 * 原理: 延迟加载策略 * 在 为空的时候才new 对象 返回 多线程环境下可能出现a线程 b 线程同时调用时判断为空 相互覆盖 * 在开始加载类的时候对象为空 * * @Description:TODO* @author: chen.chao* @time:2018年10月22日 下午2:41:45 */public class Singleton1 { private stati原创 2020-10-10 10:19:12 · 356 阅读 · 0 评论 -
NIO学习总结 附:聊天室NIO实现demo
文章目录1. 前言2. NIO 几个概念2.1 Buffer2.1.1 常用实现类2.1.2 三个属性 capacity,position和limit2.2 Channel2.2.1 Channel 基本实现2.3 Selector2.3.1 注册时有四个类型常量2.3.2 SelectionKey2.4 Pipe3. 如何使用3.1 Buffer 使用3.2 Channel + Buffer 使用3.3 Selector 使用3.4 Pipe 使用4. 聊天室示例4.1 读打印工具类ChannelUt原创 2020-10-09 18:01:42 · 695 阅读 · 1 评论 -
java 资源关闭 源码分析
java源码分析之资源关闭原创 2017-09-21 11:30:00 · 515 阅读 · 0 评论 -
算法 第四版 内置库java.util.Stack 理解
记录在阅读算法 第四版 谢路云译时的疑惑和解惑思路 在1.3背包、队列、和栈 的答疑部分时的问答原创 2018-03-15 22:54:12 · 630 阅读 · 0 评论 -
Java爬虫-爬取四级词汇网站音频
背景: 作为一个久不过四级的程序员有点不好意思啊,所以网购了冲刺卷认真过四级,签收后发现附送的词汇书音频网站竟然没有一键下载全部.只能自己写个伪爬虫了.知识点: Java网络连接 字节流 文件输入输入开工: 分析页面: 四级词汇乱序版网站: http://download.dogwood.com.cn/online/4jlxbx/index.html发现都是极具规...原创 2018-05-21 20:28:24 · 3606 阅读 · 0 评论 -
File 类 获取路径 名字等信息 详解
File 类 获取路径 名字等信息 详解Table of ContentsFile 类 获取路径 名字等信息 详解 首先 , 看测试代码 , 分三种路径对api 获取情况分析 并总结package test.file;import java.io.File;import java.io.IOException;public class FileAPITest {...原创 2018-09-06 13:42:41 · 14776 阅读 · 2 评论 -
[直击native] 单步调试ArrayList 源码 一
[直击native] 单步调试ArrayList 源码 一源码版本 jdk 1.8源码调式过程中需要不停的进入函数内部,函数内部的函数 根据调试顺序在当前函数的后面如果调试函数调用的是完全相同函数 则不再赘述文章目录[直击native] 单步调试ArrayList 源码 一类继承关系主要public 方法基础方法解读测试代码ArrayList 对象初始化Arrays 底层方法Array...原创 2019-09-12 16:10:58 · 404 阅读 · 0 评论 -
[直击native] 单步调试ArrayList 源码 二
[直击native] 单步调试ArrayList 源码 二上一节讲到iterator() , iterator() 方法涉及到ArrayList的内部类Itr , 这一节重点讲解 这个迭代器 ltr将之前先放一段问题代码 @Test public void preLoopTest(){ List<String> arr = new ArrayLi...原创 2019-09-16 16:01:15 · 130 阅读 · 0 评论 -
java 构造函数默认修饰符
java 构造器权限分析原创 2017-09-17 14:16:35 · 3730 阅读 · 2 评论