随笔分类 -  java SE

摘要:1. 锁优化的思路和方法 锁优化的思路和方法有以下几种: 减少锁持有时间 减小锁粒度 锁分离 锁粗化 锁消除 1.1 减少锁持有时间 public synchronized void syncMethod(){ othercode1(); mutextMethod(); othercode2(); 阅读全文
posted @ 2020-08-05 13:53 后知、后觉 阅读(340) 评论(0) 推荐(0)
摘要:参考:https://juejin.im/post/5d5374076fb9a06ac76da894#heading-8 synchronized,是解决并发情况下数据同步访问问题的一把利刃,也是面试经常闻到的一个知识点。那么synchronized的底层原理是什么呢? Synchronized的使 阅读全文
posted @ 2020-07-27 21:43 后知、后觉 阅读(2185) 评论(0) 推荐(0)
摘要:偏向锁# 偏向第一个拿到锁的线程。 即第一个拿到锁的线程,锁会在对象头 Mark Word 中通过 CAS 记录该线程 ID,该线程以后每次拿锁时都不需要进行 CAS(指轻量级锁)。 如果该线程正在执行同步代码块时有其他线程在竞争(指其他线程尝试 CAS 让 Mark Word 设置自己的线程 ID 阅读全文
posted @ 2020-07-27 21:29 后知、后觉 阅读(479) 评论(0) 推荐(0)
摘要:<!-- flowchart 箭头图标 勿删 --> default关键字介绍 default是在java8中引入的关键字,也可称为Virtual extension methods——虚拟扩展方法。是指,在接口内部包含了一些默认的方法实现(也就是接口中可以包含方法体,这打破了Java之前版本对接口 阅读全文
posted @ 2019-10-30 15:01 后知、后觉 阅读(1619) 评论(0) 推荐(0)
摘要:环境:JDK 1.8.0_111 在Java开发过程中,使用iterator遍历集合的同时对集合进行修改就会出现java.util.ConcurrentModificationException异常,本文就以ArrayList为例去理解和解决这种异常。 一、单线程情况下问题分析及解决方案 1.1 问 阅读全文
posted @ 2019-09-11 11:50 后知、后觉 阅读(839) 评论(0) 推荐(0)
摘要:版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/yitian_66/article/details/81010434 一、Java 8 Lambda 表达式 Lambda 表达式,也可称为 阅读全文
posted @ 2019-09-02 17:35 后知、后觉 阅读(19479) 评论(0) 推荐(0)
摘要:如果您曾经实现过Serializable接口,则必须遇到此警告消息 The serializable class xxx does not declare a static final serialVersionUID field of type long 那么......什么是serialVers 阅读全文
posted @ 2019-08-22 15:01 后知、后觉 阅读(40207) 评论(0) 推荐(1)
摘要:因为最近看了很多项目底层都使用了T,?泛型,于是百度了一下有如下理解 我们先来试着理解一下Object类,学习Java的应该都知道Object是所有类的父类,注意:那么这就意味着它的范围非常广!首先记住这点,如果你的参数类型时Object,那么的参数类型将非常广! 《Thinking in Java 阅读全文
posted @ 2019-03-25 18:08 后知、后觉 阅读(528) 评论(0) 推荐(0)
摘要:原文链接:https://segmentfault.com/a/1190000015726870 前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 H 阅读全文
posted @ 2019-03-04 11:51 后知、后觉 阅读(783) 评论(0) 推荐(1)
摘要:转载声明:本文转载自公众号「码匠笔记」。 前几天在头条上看到一道经典面试题,引发了一些思考。也是写这篇文章的导火索。 背景 请看题: public classMain{ publicstaticvoid main(String[] args){ Integer a =1; Integer b =2; 阅读全文
posted @ 2018-09-19 10:04 后知、后觉 阅读(14301) 评论(2) 推荐(6)
摘要:java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Jav 阅读全文
posted @ 2018-09-16 17:03 后知、后觉 阅读(3810) 评论(0) 推荐(0)
摘要:职责:动态的为一个对象增加新的功能 装饰器模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系,更加灵活,同时避免类型体系的快速膨胀。 实现细节: ——Component抽象构件角色:真实对象和装饰对象有相同的接口。这样,客户端对象就能够以与真实对象 阅读全文
posted @ 2018-09-02 16:19 后知、后觉 阅读(331) 评论(0) 推荐(0)
摘要:1.JDBC(JavaDatabase Connectivity) JDBC是以统一方式访问数据库的API. 它提供了独立于平台的数据库访问,也就是说,有了JDBC API,我们就不必为访问Oracle数据库专门写一个程序,为访问Sybase数据库又专门写一个程序等等,只需要用JDBC API写一个 阅读全文
posted @ 2018-09-02 16:03 后知、后觉 阅读(4874) 评论(1) 推荐(0)
摘要:转载自:http://blog.csdn.net/beiyeqingteng/article/details/7056687 前言: 问题: 求一个M*N的矩阵的最大子矩阵和。 比如在如下这个矩阵中: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 拥有最大和的子矩阵为 阅读全文
posted @ 2018-08-31 21:20 后知、后觉 阅读(645) 评论(0) 推荐(0)
摘要:作者:天禾裕链接:https://www.nowcoder.com/discuss/76933来源:牛客网 一、Java Java的优势 平台无关性、垃圾回收 Java有哪些特性,举个多态的例子。 封装、继承、多态 abstract interface区别 含有abstract修饰符的class即为 阅读全文
posted @ 2018-08-31 20:12 后知、后觉 阅读(366) 评论(0) 推荐(0)
摘要:“=”,相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变.,这一种勉强算是吧 使用FOR循环,将数组的每个元素复制或者复制指定元素,不过效率差一点 使用clone方法,得到数组的值,而不是引用,不能复制指定元素,灵活性差一点 使用System.ar 阅读全文
posted @ 2018-08-30 11:52 后知、后觉 阅读(1517) 评论(0) 推荐(0)
摘要:这是我学习Java内部类的笔记 1.为什么使用内部类? 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现, 对于内部类都没有影响 1.1.使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特 阅读全文
posted @ 2018-08-28 17:27 后知、后觉 阅读(2215) 评论(0) 推荐(0)
摘要:Java中的volatile关键字的功能 volatile是java中的一个类型修饰符。它是被设计用来修饰被不同线程访问和修改的变量。如果不加入volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器 失去大量优化的机会。 1,可见性 可见性指的是在一个线程中对该变量的修改会马上 阅读全文
posted @ 2018-08-28 17:25 后知、后觉 阅读(359) 评论(0) 推荐(0)
摘要:本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的 阅读全文
posted @ 2018-08-26 16:30 后知、后觉 阅读(6656) 评论(0) 推荐(1)
摘要:“你用过HashMap吗?” “什么是HashMap?你为什么用到它?” 几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而Hashtable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键 阅读全文
posted @ 2018-08-26 14:13 后知、后觉 阅读(5674) 评论(1) 推荐(0)