Java
Java相关领域的知识
CWJ的博客
You never know how strong you really are until being strong is the only choice you have
展开
-
Java单例模式(懒汉式)线程安全的实现方式
正常的懒汉式实现方式:public class SingletonDemo { private static SingletonDemo instance=null; /** * 构造方法私有化,防止外部new出来实例对象 */ private SingletonDemo(){ } public static Singleton...原创 2020-03-05 14:24:35 · 928 阅读 · 0 评论 -
Java dump备份脚本
参考地址:kill 之前先 dump#!/bin/bashJAVA_HOME=$(which java)OUTPUT_HOME=~/output DEPLOY_HOME=`dirname $0` HOST_NAME=`hostname` DUMP_PIDS=`ps --no-heading -C java -f --width 1000 | grep "$DEPLOY_HOME" |awk '{print $2}'` if [ -z "$DUMP_PIDS" ]; then原创 2020-12-11 14:50:59 · 310 阅读 · 0 评论 -
基于雪花算法(SnowFlake)的分布式ID生成器都有哪些
什么是雪花算法?参考链接:https://blog.csdn.net/chen_changying/article/details/79454901基于雪花算法的分布式ID生成器都有哪些?百度(uid-generator)uid-generator是由百度技术部开发,项目GitHub地址: https://github.com/baidu/uid-generatoruid-generat...原创 2020-04-14 20:12:00 · 673 阅读 · 0 评论 -
Java常用的设计模式代码实现方式汇总
文章目录单例模式懒汉式写法(线程安全)饿汉式写法观察者模式装饰者模式适配器模式工厂模式简单工厂模式具体工厂模式抽象工厂模式代理模式单例模式懒汉式写法(线程安全)public class Singleton { private volatile static Singleton singleton; private Singleton (){} public static S...原创 2020-04-14 17:59:46 · 275 阅读 · 0 评论 -
如何线上排查CPU消耗高的原因
第一步:执行top -c ,显示进程运行信息列表。按下P,进程按照cpu使用率排序,找到cpu使用最高的进程PID第二步:执行top -Hp 进程PID ,显示一个进程的线程运行信息列表。按下P,进程按照cpu使用率排序,找到线程耗费cpu最高的线程PID第三步:执行jstack -l 进程PID> ./进程PID.stack将进程PID导出为进程快照第四步:将线程耗费cpu最...原创 2020-04-08 19:10:38 · 256 阅读 · 0 评论 -
String用==和equals两种方式比较的区别
文章目录==equals总结==面试的时候经常会遇到让你说明==和equals的区别,通常会拿String类做举例,比如下面代码:public class Test { public static void main(String[] args) { String s1="hello world"; String s2="hello world"; ...原创 2020-03-24 18:20:27 · 1377 阅读 · 0 评论 -
GitHub 使用技巧整理
文章目录搜索技巧根据搜索范围查询搜索技巧in:name xxx // 按照项目名搜索比如搜索 Java in:name javain:readme xxx // 按照README搜索比如搜索“分布式服务”:in:readme 分布式服务in:description xxx // 按照description搜索比如搜索“Java 之父”:in:description Jav...原创 2020-03-23 15:54:12 · 153 阅读 · 0 评论 -
ApplicationEvent与ApplicationListener的使用
1、创建发送对象public class Demo { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}2、将发送对象绑...原创 2020-03-05 15:59:57 · 337 阅读 · 0 评论 -
ThreadLocal
所属包: java.lang;描述: ThreadLocal类提了供线程本地变量。它与普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的副本。ThreadLocal 变量通常被private static修饰,用于关联线程上下文。错误的理解: ThreadLocal为解决多线程程序的并发问题提供了一种新的思路 ;ThreadLocal的目的是为了解决多线程访问资源时的共享问题;...原创 2020-03-05 15:07:58 · 240 阅读 · 0 评论 -
JVM 参数详情
JVM 参数详情-XX:CMSInitiatingPermOccupancyFraction:当永久区占用率达到这一百分比时,启动 CMS 回收-XX:CMSInitiatingOccupancyFraction:设置 CMS 收集器在老年代空间被使用多少后触发-XX:+CMSClassUnloadingEnabled:允许对类元数据进行回收-XX:CMSFullGCsBeforeComp...原创 2019-12-19 14:57:04 · 193 阅读 · 0 评论 -
Caused by: org.hibernate.boot.archive.spi.ArchiveException: Could not build ClassFile异常怎么解决
在启动springboot的时候,启动报错,一开始日志错误是ERROR o.s.boot.SpringApplication - Application run failedorg.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org....原创 2019-04-14 16:56:31 · 4358 阅读 · 0 评论 -
分布式中Redis使用场景及遇到的问题
文章目录1、为什么使用 Redis2、单线程的 Redis 为什么这么快3、Redis 的数据类型及使用场景 String Hash List SetSorted Set4、Redis 的过期策略和内存淘汰机制5、Redis 和数据库双写一致性问题6、如何应对缓存穿透和缓存雪崩问题7、如何解决 Redis 的并发竞争 Key 问题在实际开发中使用 Redis 的时候,绝大部分人只会 Set V...转载 2018-09-26 10:29:40 · 738 阅读 · 0 评论 -
Eclipse 版本对应的 JDK版本要求
文章转自:Eclipse/InstallationEclipse 4.6 (Neon)Eclipse 4.6 (Neon) was released on June 22, 2016. SeeNeon schedule.Consider using the Installer. Please see 5 Steps to Install Eclipse.A Java转载 2017-05-08 15:59:53 · 4065 阅读 · 0 评论 -
解决mac上启动tomcat时出现Local host name unknown异常
在Mac上启动tomcat时,报了如下错误: 错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: xxxx-Pro.local: xxxx-Pro.local: nodename nor servname provided, or not kno原创 2017-05-08 15:44:19 · 1825 阅读 · 0 评论 -
message_zh_CN.properties中文乱码的问题
第一次打开message_zh_CN.properties可能会出现中文乱码的问题,比如像下面这种 如何解决 1.打开设置,我的开发工具用的是Intelli IDEA 2.搜索file encodings,出现下面这种页面 3.勾上红色圈圈的地方,即可原创 2016-10-28 16:40:06 · 4112 阅读 · 2 评论