java
文章平均质量分 84
玉带林中挂
这个作者很懒,什么都没留下…
展开
-
垃圾收集篇
文章目录垃圾收集算法垃圾的概念对象存活的判断引用计数器法可达性分析算法算法标记清除算法复制算法标记压缩算法垃圾收集的相关概念STW安全点安全区域垃圾收集器重要指标吞吐量停顿时间垃圾收集器的分类Serial 收集器:串行回收ParNew 收集器:并行回收Parallel Scavenge 收集器:吞吐量优先CMS收集器:低延迟G1 收集器:区域化分代垃圾收集算法垃圾的概念 在运行的程序中,当一个对象没有任何指针指向它时,它就会被视为垃圾。所以,判断一个对象是否被视为垃圾的关键标准就是是否由指针指向它。原创 2024-07-14 21:57:50 · 900 阅读 · 0 评论 -
设计模式篇---装饰模式
装饰模式的链路主要是通过继承方式实现的,主要思路是在装饰者类里面包了一层被装饰者,然后客户端调用装饰者的方法时,先实现装饰者自己的装饰方法,然后再实现被装饰者的方法。装饰者模式和代理模式很相似,装饰者是装饰类和被装饰类实现了相同的接口,代理是代理类和被代理类实现了相同的接口,都是增强了能力,但前者是增强了自己,让自己有更多的自定义能力,后者是让别人去处理自己的事情。一个是让自己能力变强,一个是让别人替自己办事。原创 2023-11-17 13:23:26 · 243 阅读 · 0 评论 -
@Cleanup() 使用注意事项
前端时间用lombok 的@Cleanup() 想实现线程池的自动关闭,因为使用不当,查bug查了好久,因此写篇博客纪念下,同时也希望读者可以跳过这个坑。@Cleanup修饰的对象,可以在对象资源使用结束后,自动关闭。原创 2023-10-21 16:04:59 · 588 阅读 · 0 评论 -
正则表达式必知必会
常用的正则表达式原创 2023-08-06 19:58:05 · 298 阅读 · 0 评论 -
锁消除、锁粗化、偏向锁、适应性锁
锁消除、锁粗化、偏向锁、适应性锁原创 2023-03-19 22:21:35 · 657 阅读 · 0 评论 -
【进阶篇】线程的硬件基础
线程实现缓存冲刷和刷新的硬件原理原创 2023-02-19 19:17:07 · 592 阅读 · 0 评论 -
线程的高效利用——线程池
线程池基础。原创 2023-01-02 21:31:40 · 438 阅读 · 1 评论 -
java中“冷门”工具类的总结
一些不常用的工具类总结。原创 2022-11-27 22:15:59 · 794 阅读 · 0 评论 -
ThreadLocal原理讲解
ThreadLocal的原理、使用、注意事项。原创 2022-11-05 18:49:05 · 715 阅读 · 3 评论 -
多线程之生产者消费者模式
线程之间的协作,生产者和消费者线程模式的介绍。原创 2022-10-22 20:23:32 · 2321 阅读 · 2 评论 -
java配制JAVA_HOME的系统变量时找不到jdk
在配制java环境变量的时候,打开命令提示符查看java总是提示“不是内部或外部命令,也不是可运行的程序”,这是因为还没有配制好变量。在配制的过程中,设置JAVA_HOME的系统变量时如果找不到jdk,则直接定位到当前安装目录即可,无需找到jdk;网上的变量值有很多种,下面是我成功配制的变量值。JAVA_HOME: " D:\java"CLASSPATH:" .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"PATH :在原有初始值最后加上:”%J.原创 2020-05-10 08:46:08 · 1435 阅读 · 2 评论 -
Caffeine缓存的使用
jvm缓存之Caffeine的使用。原创 2022-10-15 20:16:47 · 5048 阅读 · 1 评论 -
CountDownLatch和CyclicBarrier的使用
countDownLatch 和CyclicBarrier实现多线程操作。原创 2022-09-18 19:36:20 · 457 阅读 · 0 评论 -
一篇文章带你彻底搞懂wait/notify
wait、notify以及条件变量的深入学习。原创 2022-08-27 23:50:33 · 1542 阅读 · 1 评论 -
java中集合遍历方法的选择
for循环和for i 的选择原创 2022-08-11 13:27:57 · 315 阅读 · 1 评论 -
idea中设置文件不进行 git commit
idea设置文件不进行commit的方法原创 2022-08-11 09:57:20 · 8015 阅读 · 1 评论 -
java中的线程同步机制讲解
Java中的锁、volatile、屏障原理。原创 2022-07-24 20:58:46 · 391 阅读 · 0 评论 -
Arrays.asList和java.util.Collections的“坑”
Arrays.asList不要踩坑原创 2022-07-21 13:42:15 · 415 阅读 · 0 评论 -
volatile保证原子性、可见性、有序性的验证
volatile保证原子性、可见性、有序性的原理。原创 2022-06-05 21:40:14 · 1671 阅读 · 0 评论 -
java中LocalDate使用总结
java中LocaDate的使用,总结了常用的API原创 2022-04-17 16:14:24 · 6906 阅读 · 2 评论 -
idea如何解决jar包冲突
快速定位并解决jar包冲突。原创 2022-04-05 16:16:30 · 8100 阅读 · 1 评论 -
java中Optional的使用
使用Optional来规范我们的开发,让我们的Api更容易被他人理解。原创 2022-04-04 22:37:53 · 23268 阅读 · 7 评论 -
java8新特性----Stream流使用
本篇文章一定会让大家更加深入的了解stream流!!本篇涉及了stream常用的方法及其原理,实用性很强!!也可以当做字典型的文章来对待,用到的时候再回过头来查看。原创 2022-03-12 23:38:09 · 709 阅读 · 4 评论 -
lambda表达式的分析及使用
本篇博客详细讲述了lambda表达式的组成、使用、注意事项。欢迎您来访问。原创 2022-02-20 13:34:18 · 1699 阅读 · 2 评论 -
java中通过行为参数化传递代码
java的新特性,lambda表达式的演进过程。原创 2022-02-13 18:39:39 · 559 阅读 · 2 评论 -
zookeeper安装、集群搭建、客户端使用
简单介绍zookeeper是Apache Hadoop项目下的一个子项目,是一个树形目录服务。中文翻译为动物管理员,用来管理Hadoop(大象),Hive(蜜蜂),pig(小猪)的管理员,简称zk,它是一个分布式的、开源的分布式应用程序的协调服务。它主要提供三个功能:1、配置管理有多个服务都需要连接数据库,每一个服务连接数据库的地址,用户名、密码都是一样的,这时候可以抽出来一个配置中心,将用户名,密码,服务器地址放在配置中心里面,zookeeper可以作为这个配置中心2、分布式锁当程序A访问数据原创 2021-06-28 21:35:14 · 388 阅读 · 5 评论 -
java中反射详解
概念反射:是java被视为动态语言的关键,反射机制允许程序在执行期间借助反射接口取得任何类的内部信息,并能直接操作任意对象的内部属性和方法。加载完类之后,在堆内存的方法区中产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一个镜子,透过这个镜子看到类的结构,所以称为“反射”。优点可以实现动态创建对象和编译,体现出很大的灵活性。动态的体现:可以根据不同的名字创建不同的对象,是灵活的。缺点对性能有影响,原创 2021-05-30 15:06:38 · 258 阅读 · 3 评论 -
Java中的泛型
概念:java泛型是j2se 1.5引入的新特性,本质是参数化类型,将用到的数据类型指定为任意一种,可用在类、接口、方法中。可以用任意字母来表示,但一般使用大写字母T(Type的简写)来表示。为什么要有泛型:在j2se 1.5之前,java允许我们构建一个元素类型为Object的集合,我们可以对类型Object的引用来实现参数的“任意化”,这时编译是没有问题的,但是在运行期间会出现问题,这是一个安全隐患,为了解决此问题,java 1.5 引入了泛型。当我们不使用泛型的时候:public clas原创 2021-03-09 19:56:56 · 191 阅读 · 3 评论 -
Elasticsearch的简单使用(实现中文词汇搜索并高亮显示-后端+前端)——java篇
简介Elasticsearch中文文档ELK:ELK是Elasticsearch、Logstash、Kibana三大开源架构的字母简称Elasticsearch是基于Lucene、分布式、通过restful方式进行交互的进实时搜索平台框架。Logstash是ELK的中英文数据流引擎,用于从不同目标收集不同格式数据,经过过滤后支持输出到不同的目的地。Kibana是将Elasticsearch的数据展示出来,提供实时分析的功能。使用一、安装Elasticsearch下载地址下载后进行解压,然原创 2021-01-09 15:18:37 · 1601 阅读 · 6 评论 -
java中将list导出excel
首先引入pom文件<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.6</version></dependency>配置excel工具类package com.dmsd.omo.tools;import org.apache.poi.hss原创 2020-10-26 14:55:53 · 1561 阅读 · 8 评论 -
java爬虫之获取HTML元素
想要获取网页中的元素,有很多种方法。如上图所示,我要获取div下的img标签下的src的内容之前我的思维是直接定位到div,然后进行爬取: Elements imgDiv = topicReplys.select(".smallImg.clearfix.topic"); String img = imgDiv.attr("src");(topicReplys 是这个页面的一个div;select里面的内容就是上图第一行class里的内容,因为这三者之间有空格,可以用点来隔开,也可以原创 2020-06-11 20:00:37 · 1527 阅读 · 1 评论 -
java之线程执行
在学操作系统的时候学过线程这个概念,如今再次进行复习。线程是一个程序里不同的执行路径,通过代码来说,一个main方法就是一个主线程。在机器里面运行的也只有线程,而进程是一个静态的概念,进程可以理解为机器上的一个exe文件,它是静态的。看一下线程的和调用方法的过程区别。线程执行:public class TestThread { public static void main(string[] args){ Runner1 r = new Runner1(); Thread t原创 2020-06-03 08:36:59 · 235 阅读 · 3 评论 -
java之动态绑定
动态绑定,new出来的时候叫做动态,所以动态绑定就是在new出对象的时候和该对象进行了绑定。在实例当中,new出来谁就调用谁的方法。下面举一个例子:class Animal{ private String name; Animal(String name){this.name = name;} public void enjoy(){ System.out.println("叫声···"); }}class Cat extends Animal { private Stri原创 2020-05-31 11:18:53 · 475 阅读 · 8 评论 -
再识Static(java)
之前认为Static修饰的类不用实例化,可以直接用类名点出来就行了。最近又学习了一下Static,又有了新的认识。static是静态的意思,对静态的理解:比如要使用一个类里面的一个方法或者属性,就要需要进行实例化,需要new出新的东西,所以实例化的过程就是动态。而使用了static就不用实例化,所以用static修饰的类或者方法不用new出新的东西,就属于静态。用static修饰了一个类下面的内容之后(例如一个变量),这个变量所占的内存就只有一块,不会随着实例化去申请新的内存空间。这也是属于静态的。原创 2020-05-30 10:13:54 · 208 阅读 · 4 评论