![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java后端
文章平均质量分 70
java后端JVM调优、多线程开发等
lixiangchibang
认真、严谨、自信、爱我所爱、无怨无悔
展开
-
JDK8新特性详解
Java发展史Lambda表达式接口的增强函数式接口方法引用Stream APIOptional新时间日期APIjdk8新特性原创 2023-04-02 23:51:41 · 385 阅读 · 0 评论 -
https访问流程详解
https访问流程详解原创 2023-01-04 00:33:41 · 3913 阅读 · 2 评论 -
centos使用yum安装openjdk1.8详解
centos使用yum安装openjdk1.8详解原创 2022-07-17 22:12:06 · 2779 阅读 · 0 评论 -
四种替换字符串中的变量方式
替换字符串中的变量原创 2022-02-28 20:20:06 · 1473 阅读 · 0 评论 -
常用正则表达式
常用正则表达式转载 2022-02-28 20:08:29 · 67 阅读 · 0 评论 -
IDEA安装教程
1.官网下载:分为社区版和旗舰版官网地址为 :Download IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains这里下载为社区版:2、验证hash值:按【win】+【r】键来打开运行cmd命令行窗口:执行以下命令:CertUtil -hashfile C:\xxx.tar MD5此命令不仅可以做MD5哈希算法校验,还支持其他的哈希算法,具体如下:CertUtil -hashfile 文件路径 [.原创 2022-02-19 15:44:24 · 5094 阅读 · 0 评论 -
java时区详解及0805
时区0805问题原创 2022-01-11 22:20:32 · 883 阅读 · 0 评论 -
java线程池详解及五种线程池方法详解
基础知识Executors创建线程池Java中创建线程池很简单,只需要调用Executors中相应的便捷方法即可,比如Executors.newFixedThreadPool(int nThreads),但是便捷不仅隐藏了复杂性,也为我们埋下了潜在的隐患(OOM,线程耗尽)。Executors创建线程池便捷方法列表:方法名 功能 newFixedThreadPool(int nThreads) 创建固定大小的线程池 newSingleThreadExecutor()转载 2020-12-01 23:03:55 · 32055 阅读 · 5 评论 -
java日志详解及最佳实践
一、日志框架的分类1.1、门面型日志框架:JCL:Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging SLF4J:是一套简易Java日志门面,本身并无日志的实现。(Simple Logging Facade for Java,缩写Slf4j)1.2、记录型日志框架:JUL:JDK中的日志记录工具,也常称为JDKLog、jdk-logging,自Java1.4以来的官方日志实现。 Log4j:一个原创 2020-10-18 22:46:05 · 922 阅读 · 1 评论 -
java对象属性复制的几种方式
java对象属性复制的几种方式1.使用java反射机制,获取对象的属性和get、set方法进行复制;2.使用spring-beans5.0.8包中的BeanUtils类import org.springframework.beans.BeanUtils;SourceObject sourceObject = new SourceObject();TargetObject targetObject = new TargetObject();BeanUtils.copyProperties(sour转载 2020-09-09 20:25:34 · 4064 阅读 · 0 评论 -
Thread的run方法及start方法分析
通过对比两者的源码,可以发现start方法使用native语言创建完线程之后,再用该线程调用run方法。而执行run方法相当于直接使用主线程执行run方法,两者具有本质的区别。 为了验证,你可以在run方法之类打印线程的名字,然后分别执行run及start方法,看结果即可。...原创 2020-04-11 22:50:00 · 248 阅读 · 0 评论 -
CAP详解
在弄清楚这个问题之前,我们先了解一下什么是分布式的CAP定理。根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。一、CAP的定义Consistency (一致性):“all nodes see ...转载 2020-04-04 14:38:48 · 863 阅读 · 0 评论 -
spring ioc和di关系
什么是控制反转(ioc),什么是依赖注入(di);原来的程序设计,上层类依赖底层类,他们之间的构造函数都会新建自己依赖的底层类,这个时候开发就很方便,只需构造上层类实例就可以使用,但是这时候一旦底层发生变故,比如新增一个参数,就需要上层类依次传入底层类。所有的依赖关系上的类都需要改变。后来人们发现这样十分不便,开始考虑控制反转;原来上层类依赖底层类,现在改为底层类依赖上层类,所有类依赖关系...原创 2020-03-22 21:00:43 · 223 阅读 · 0 评论 -
LockSupport
1. LockSupport简介在之前介绍AQS的底层实现,已经在介绍java中的Lock时,比如ReentrantLock,ReentReadWriteLocks,已经在介绍线程间等待/通知机制使用的Condition时都会调用LockSupport.park()方法和LockSupport.unpark()方法。而这个在同步组件的实现中被频繁使用的LockSupport到底是何方神圣,现在...转载 2019-08-01 00:28:37 · 98 阅读 · 0 评论 -
java的修饰符详解
访问权限 类 包 子类 其他包 public ok ok ok ok protect ok ok ok no default ok ok no no private ok no no no原创 2018-12-02 23:27:47 · 192 阅读 · 0 评论 -
深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若...转载 2018-12-02 23:59:31 · 116 阅读 · 0 评论 -
StringBuilder和StringBuffer区别
StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。...原创 2018-12-03 01:37:48 · 282 阅读 · 0 评论 -
为什么要使用java内部类?
java内部类分为: 1、成员内部类 2、方法内部类 3、静态内部类 4、匿名内部类 java内部类使用核心意义: 1.弥补java无法实现多继承的先天缺陷; 2.实现更好的封装; ...原创 2018-12-01 23:04:05 · 544 阅读 · 0 评论 -
解决Request failed grizzly 2.4.0日志获取问题
The thing is that i can't get Grizzly to log something to the console and haven't found any logfiles yet.Is grizzly using log4j or logging-api? Could anyone provide me with a logging.properties or...转载 2019-06-11 22:08:52 · 549 阅读 · 0 评论 -
解决Request failed grizzly 2.4.0
寻找项目中含有jaxrs的依赖,然后删除即可原创 2019-06-11 22:15:34 · 653 阅读 · 0 评论 -
导出内存文件的两种方法
1.设置JVM参数 设置以下参数,会在程序运行发生内存溢出时自动导出文件: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./ 说明:第一个参数:在发生内存溢出错误时,导出heapdump文件; 第二个参数:导出文件存放的位置;2.执行jmap命令 执行上述命令,form...原创 2019-07-11 00:17:44 · 2006 阅读 · 0 评论 -
java线程的六个状态
1.new; 线程创建的时候,尚未执行start方法;2.runable;线程调用start方法,处于ready或者running状态;3.waiting:Object.wait()或者Thread.join()或者locksuport.part();下篇博客我会详细介绍locksuport。4.Timed wating:Thread.sleep()或者Ob...原创 2019-07-31 23:28:38 · 110 阅读 · 0 评论 -
tomcat的localhost_access.log配置(pattern)
一、配置与说明tomcat访问日志格式配置,在config/server.xml里Host标签下加上<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" ...转载 2018-11-13 10:16:16 · 8318 阅读 · 0 评论