自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 java内存区域问题详解

1 概述对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个 new 操作去写对应的 delete/free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。2 运行时数据区域...

2019-07-22 14:30:52 133

转载 HashMap 与HashTable的区别

HashMap 与HashTable的区别HashMap与Hashtable的区别是面试中经常遇到的一个问题。这个问题看似简单,但如果深究进去,也能了解到不少知识。本文对两者从来源,特性,算法等多个方面进行对比总结。力争多角度,全方位的展示二者的不同,做到此问题的终结版。1 作者Hashtable的作者:HashMap的作者:Hash Map的作者比Hashtable的...

2019-05-06 13:12:06 123

原创 Open Directory Listing in Tomcat

简而言之,Directory Listing就是在tomcat的安装目录中的webapps文件夹中不放置任何web程序文件,例如index.html,web.xml等,那么采用URL去访问这个文件夹的时候,就会将文件夹中的所有内容全部列出来,可供下载。...

2019-03-28 13:58:41 231

原创 JAVA单例模式优化

说说 饿汉式与懒汉式饿汉式:是线程安全的;类加载的时候,就会生成实例对象,未支持 延迟加载,在还未用到之前,一直占用内存。懒汉式:支持延迟加载;在多线程条件下,存在线程安全问题。加锁影响性能用内部类的形式实现单例,既可以解决延迟加载,也不必使用同步关键字public class StaticSingleton { private StaticSing...

2019-03-26 16:02:56 183

原创 redis 的雪崩、穿透和击穿

缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。大约在 3 年前,...

2019-03-22 15:43:38 503

翻译 MySQL 读写分离 MySQL 主从复制原理 MySQL 主从同步的延时问题

如何实现 MySQL 的读写分离?其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。MySQL 主从复制原理的是啥?主库将变更写入 binlog 日志,然后从库连接到主库之后,从库有一个 IO 线程,将主库的 binlog 日志拷贝到自己本地,写入一个 relay 中继日志中。接着从库中有一个 SQL ...

2019-03-13 15:57:57 103

转载 Java并发-AQS及各种Lock锁的原理

 AQS是AbstractQueuedSynchronizer的简称。AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架,如下图所示。AQS为一系列同步器依赖于一个单独的原子变量(state)的同步器提供了一个非常有用的基础。子类们必须定义改变state变量的protected方法,这些方法定义了state是如何被获取或释放的。鉴于此,本类中的其他方法执行所有的排队和阻塞机制。子...

2019-03-12 15:01:18 242

原创 SQL优化

1. 尽量用EXISTS代替IN2. 使用慢日志,explain记录那些查询很慢的SQL语句。3. JOIN操作中,使用小的结果驱动大的结果。4. 分页在基数较大时,尽量使用between而不是limit5. 尽量不要使用rand获取随机条数记录6.count(列名)表示多少个不为NULL的记录(不完整),使用COUNT(*,1)整个结果集有多少条记录7. 尽量不要做无谓的排序操作8. 出现了局部...

2018-05-29 13:49:54 104

转载 jvm中的新生代Eden和survivor区

聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收...

2018-05-29 13:18:51 127

原创 java反射的应用

public class myCheckBoxTableCell extends CheckBoxTableCell {    @Override    public void updateItem(T item, boolean empty) {        super.updateItem(item, empty);        if (empty) {

2017-12-19 15:35:07 175

原创 解决eclipse工程打包中文乱码解决办法 续集

点击打开链接这是之前我的一篇博客 有写到解决乱码的办法最新办法是在并且在product工程的launching标签页中找到VM Arguments  加一行代码 -Dfile.encoding=utf-8

2017-11-30 09:47:15 2548 1

原创 java不使用递归 将一个有层级结构的集合还原成一棵树

现有一个集合的对象  每个对象有父节点的id和自己的id不适用递归把这个集合还原成一棵树可以用双层for循环 并且合理使用continue和breakprivate void buildTree(TreeItem root, String rootId) { for (TreeItem itemI : mTreeList.getObList()) { String id

2017-11-30 09:38:38 1417

转载 java8 集合流式操作

一. 基本概念二. 串行流和并行流三. 中间操作 和 最终操作 一. 基本概念1.1 为什么加入 集合的流式操作             JDK8 的Stream 是一个受到 函数式编程 和 多核时代影响而产生的东西。很多时候我们需要到底层返回数据,上层再对数据进行遍历,进行一些数据统计,但是之前的Java API 中很少有这种方法,这就需要我们自己

2017-10-24 11:13:00 679

原创 javaFX table表格可编辑失去焦点提交

代码如下public class EditingCell extends TableCell {    private TextField textField;    public EditingCell() {    }    @Override    public void startEdit() {        if (!isEmpty(

2017-09-29 16:03:18 3810 12

原创 java8函数式接口和Lambda表达式应用在javaFX中tableView自定义点击事件

java8的函数式接口大家应该不陌生了, 函数式接口,@FunctionalInterface,简称FI,简单的说,FI就是指仅含有一个抽象方法的接口,以@Functionalnterface标注比如:Lambda表达式使用过java8的同学应该也会觉得用起来很舒服比如:那么如何将java8和函数式接口 Lambad表达式和我们javaFX客户端开发中 ta

2017-09-19 13:38:58 2092 4

原创 java反射运用在javaFX客户端中

java反射在javaFX中的运用

2017-09-18 10:25:31 549

原创 解决Eclipse RCP中Product工程打包时图片不显示以及中文乱码问题

解决Eclipse RCP中Product工程打包时图片不显示以及中文乱码问题

2017-07-14 08:59:23 1490

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除