随笔分类 -  Java

摘要:锁升级过程图解 1、图解锁升级 锁信息记录在markword中: 普通对象:001; 匿名偏向,偏向锁:101; 轻量级锁:00; 重量级锁:10; 对应如下: 2、案例 为了证明以上的过程,我们可以使用一些工具来观察,在这里我们使用JOL(Java Object Layout)。 需要添加依赖: 阅读全文
posted @ 2021-08-15 23:16 额是无名小卒儿 阅读(123) 评论(0) 推荐(0) 编辑
摘要:CAS 1、什么是CAS? CAS:又叫 campare and set/Swap/Exchange,自旋锁。 再增加一个知识点: 悲观锁:认为该操作会被别的线程打断; 乐观锁:认为该操作不会被别的线程打断,会消耗CPU资源; 注:悲观锁,各线程在队列里等待,不消耗CPU资源;而乐观锁时,各线程不断 阅读全文
posted @ 2021-08-15 22:22 额是无名小卒儿 阅读(183) 评论(0) 推荐(0) 编辑
摘要:写在前言 果子在公众号( 程序员编程)中看到一个很好的项目。虽然平时用不到,但是对于自己理解SpringBoot,网络通信还是有好处的。所以就摘录如下,本文并不是全文照搬,会做出修改润饰,并加入自己的理解。文末会注明来源,如有侵权,敬请告知。 1、需求目标: 手写一个可以实现WebSSH连接终端功能 阅读全文
posted @ 2021-03-27 23:18 额是无名小卒儿 阅读(4055) 评论(0) 推荐(0) 编辑
摘要:Java 内存模型试图屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。 1、主内存与工作内存 处理器上的寄存器的读写的速度比内存快几个数量级,为了解决这种速度矛盾,在它们之间加入了高速缓存。 加入高速缓存带来了一个新的问题:缓存一致性。如果多个缓 阅读全文
posted @ 2021-02-18 22:14 额是无名小卒儿 阅读(86) 评论(0) 推荐(0) 编辑
摘要:一、SQL注入的概述 定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。 (1)SQL注入威胁表现形式可以体现为以下几点: ● 阅读全文
posted @ 2021-02-18 20:01 额是无名小卒儿 阅读(210) 评论(0) 推荐(0) 编辑
摘要:首先我们得先明白这两个单词是什么意思: Fork:叉 ; 分岔处,分流处,岔口,岔路 ; 分岔 ; Join:连接; 接合; 联结; 结合; 联合; 汇合; 加入; 好了,看到这俩的翻译,是不是有所顿悟呢?请君继续看...... 1. Java并发的发展历程 –Java 1 支持threads, l 阅读全文
posted @ 2021-02-18 19:59 额是无名小卒儿 阅读(5807) 评论(0) 推荐(0) 编辑
摘要:CountDownLatch的作用类似于Thread.join()方法,但比join()更加灵活。 它可以等待多个线程(取决于实例化时声明的数量)都达到预期状态或者完成工作以后,通知其他正在等待的线程继续执行。 简单的说,Thread.join()是等待具体的一个线程执行完毕,CountDownLa 阅读全文
posted @ 2021-02-16 19:35 额是无名小卒儿 阅读(78) 评论(0) 推荐(0) 编辑
摘要:之前做项目用到过ThreadLocal,但是没有看源码层面的具体实现,今天特来补一补课。 ThreadLocal,即线程局部变量,用来为每一个使用它的线程维护一个独立的变量副本。 这种变量只在线程的生命周期内有效。并且与锁机制那种以时间换取空间的做法不同,ThreadLocal没有任何锁机制,它以空 阅读全文
posted @ 2021-02-16 17:57 额是无名小卒儿 阅读(262) 评论(0) 推荐(0) 编辑
摘要:【这是前几天的存货,留着没发表,今天又复习一遍,润化了部分内容,继续干】 说线程池前,先简单回顾一下线程的状态吧: 1、线程状态转换 线程的五种状态,及其转换关系: 2、线程创建方式 三种:两个接口一个类 两个接口:Runnable实现run(), callable实现call() 一个类:Thre 阅读全文
posted @ 2021-02-11 16:23 额是无名小卒儿 阅读(326) 评论(0) 推荐(0) 编辑
摘要:1.1 基本概念区分 1) 、对于==,比较的是值是否相等 如果作用于基本数据类型的变量,则直接比较其存储的 值是否相等, 如果作用于引用类型的变量,则比较的是所指向的对象的地址是否相等。 其实==比较的不管是基本数据类型,还是引用数据类型的变量,比较的都是值,只是引用类型变量存的值是对象的地址 2 阅读全文
posted @ 2021-01-31 17:19 额是无名小卒儿 阅读(6034) 评论(0) 推荐(0) 编辑
摘要:synchronized底层语义原理 Java 虚拟机中的同步(Synchronization)基于进入和退出管程(Monitor)对象实现。 在 Java 语言中,同步用的最多的地方可能是被 synchronized 修饰的同步方法。同步方法 并不是由 monitorenter 和 monitor 阅读全文
posted @ 2021-01-26 23:49 额是无名小卒儿 阅读(865) 评论(0) 推荐(0) 编辑
摘要:【概述】 Java中的对象拷贝 ( Object Copy ) 是指将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。例如,对象 A 和对象 B 都属于类 S,具有属性 a 和 b。那么对对象 A 进行拷贝操作赋值给对象 B 就是: B.a = A.a; B.b = A.b; 拷 阅读全文
posted @ 2021-01-26 00:00 额是无名小卒儿 阅读(145) 评论(0) 推荐(0) 编辑
摘要:最近写论文需要用到UML类图,但是自己画又太复杂,干脆找了个插件,是Eclipse的,也有IDEA的,在这里我简单说下Eclipse的插件AmaterasUML 的配置与使用吧。 点击这里下载Amateras的Jar包,一共三个。 链接: https://pan.baidu.com/s/1MsVSQ 阅读全文
posted @ 2020-03-18 23:23 额是无名小卒儿 阅读(5410) 评论(0) 推荐(0) 编辑
摘要:参考: 服务端开发技术栈 阅读全文
posted @ 2019-09-23 17:27 额是无名小卒儿 阅读(368) 评论(0) 推荐(0) 编辑
摘要:这个Integer比较真的是坑啊.......... 先看代码,大家来猜猜,看看到底会输出什么: 结果如下: 不知猜对几道???笑哭... 先说下我的错误思路!!! 之前我是认为:Integer的话,不论范围多少,都是一个new 了一个对象,然后,不同的对象肯定地址也不相同,当==的时候,总是fal 阅读全文
posted @ 2019-09-16 21:38 额是无名小卒儿 阅读(957) 评论(0) 推荐(0) 编辑
摘要:Java中的容器主要包括两方面: Collection:List、Set、queue Map:HashMap、treeMap; 一. Collection 1. Set TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如HashSet,HashSet 查 阅读全文
posted @ 2019-09-14 22:15 额是无名小卒儿 阅读(11589) 评论(0) 推荐(0) 编辑
摘要:第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数。 那么,在实际实现中,可以用int的一个数来存储最后的二进制,每次求余后把余数存储在int型数的低 阅读全文
posted @ 2019-08-28 18:44 额是无名小卒儿 阅读(4572) 评论(2) 推荐(0) 编辑
摘要:volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,但是它并不容易完全被正确、完整地理解,以至于许多程序员都习惯不去使用它,遇到需要处理多线程数据竞争问题的时候一律使用synchronized来进行同步。了解volatile变量的语义对了解多线程操作的其他特性很有意义,在本文中我们 阅读全文
posted @ 2019-08-26 17:15 额是无名小卒儿 阅读(1228) 评论(1) 推荐(2) 编辑
摘要:面试遇到的一个问题,没有全部答出来: 查了查列出如下: 1.抽象类不能被实例化。 2.抽象类可以有构造函数,抽象方法不能被声明为静态。 3.抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体 4.含有抽象方法的类必须申明为抽象类 5.抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是 阅读全文
posted @ 2019-08-26 14:46 额是无名小卒儿 阅读(3152) 评论(0) 推荐(0) 编辑
摘要:1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 但是,有时候 阅读全文
posted @ 2019-08-26 00:04 额是无名小卒儿 阅读(1099) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示