Java基础
你就是我最想要的丫头
这个作者很懒,什么都没留下…
展开
-
Redis数据结构之HypeLogLog原理
数学之美,通过概率以及事件发生的次数预估样本总量,这就是HypeLogLog的原理,本文在阅读了多篇文章和观看多个视频后记录下来,共享~原创 2020-09-13 11:49:32 · 927 阅读 · 0 评论 -
Hash冲突解决
曾经沧海难为水,除却巫山不是云。原创 2020-05-07 18:51:20 · 273 阅读 · 0 评论 -
大白话讲解设计模式之中介者模式
如何理解一个设计模式,首先需要了解他的应用场景,进而得出他的使用价值以及使用原因。我们从最容易理解的日常事务中举个中介者模式的栗子,对比加思考来理解中介者模式,包括何为中介者,为何需要中介者。原创 2020-04-06 14:30:10 · 266 阅读 · 0 评论 -
大白话讲解设计模式之命令模式
看了一些命令模式的博客,仍然不知道如何实现一个命令模式,如何设计,以及为何这么设计,本文通过一个例子来说明命令模式的设计过程。原创 2020-04-05 20:38:49 · 213 阅读 · 0 评论 -
过滤器和拦截器的不同以及执行顺序和使用场景的总结
本文主要总结拦截器和过滤器的不同,分5点进行比较,总结了适用场景以及在应用中的执行顺序原创 2020-03-29 16:20:39 · 1433 阅读 · 0 评论 -
注解@ModelAttribute的详细总结
本文详细介绍的@ModelAttribute的作用、逻辑以及使用方法,一文搞懂@ModelAttribute注解原创 2020-03-29 16:16:22 · 6572 阅读 · 0 评论 -
你用过枚举么----枚举成神之路
一文明白枚举的各种使用,枚举的单例模式实现原创 2020-03-25 22:00:59 · 169 阅读 · 0 评论 -
详解Java集合
Java集合有两类,一类为Collection,一类为Map,两者继承关系如下所示:对于collection,它分为有序和无序,可重复和不可重复等,所以包含了Collection接口可以分为三类接口:List、Queue、Set依次说明如下:List接口:申明了list的公有方法,包括:add,addAll,clear,contains(Object), containsA...原创 2018-09-03 22:35:04 · 117 阅读 · 0 评论 -
进程和线程
目录概念为什么引入线程?线程的属性进程与线程区别进程调度的方式非剥夺方式剥夺方式进程调度算法 概念进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的...原创 2018-08-29 18:32:40 · 103 阅读 · 0 评论 -
Java基本类型和取值范围
Java中基本类型有8中。Java基本类型和取值范围 类型 字节数 范围 byte 1 -128~127 (-2的7次方到2的7次方-1) short 2 -32768~32767(-2的15次方到2的15次方-1) int 4 -2147483648~2147483647(-2的31次方到...原创 2018-08-14 21:36:34 · 3793 阅读 · 0 评论 -
笔试题细节整理
该程序编译不通过。被static修饰的变量称为静态变量,静态变量属于整个类,而局部变量属于方法,只在该方法内有效,所以static不能修饰局部变量在《java虚拟机》一书中明确讲了,释放掉占据的内存空间是由gc完成,但是程序员无法明确强制其运行,该空间在不被引用的时候不一定会立即被释放,这取决于GC本身,无法由程序员通过代码控制。对象失去引用链之后,只会被标记一次,然后对象被放入一个...原创 2018-08-05 17:04:33 · 215 阅读 · 0 评论 -
初识JAVA NIO
1.Buffer:主要包含4个变量: private int mark = -1; private int position = 0; private int limit; private int capacity;mark <= position <= limit <= capacity有一个基类Buffer:public ab...原创 2018-07-31 20:10:19 · 117 阅读 · 0 评论 -
lock 和 synchronized
Lock实现提供了比使用synchronized方法或者语句更有扩展性的锁定操作,有更多的属性,可以关联多个Condition。锁是一种用于控制多个线程对共享资源的访问的工具。通常,锁提供对共享资源的独占访问,并且对共享资源的访问都需要先获得锁。但有的锁支持并发访问共享资源,如ReadWriteLock的读锁。synchronized方法或语句可以访问每个对象关联的隐式监视器锁,但获取和释...原创 2018-07-31 18:34:56 · 146 阅读 · 0 评论 -
Java的native方法
Java的native方法的实现过程。原创 2017-11-16 18:02:38 · 217 阅读 · 0 评论 -
Java将字符串格式的百分数转为小数
Java API提供了对数值格式化的类NumberFormat。 可以格式化数值和解析字符串。原创 2017-12-08 20:22:09 · 10469 阅读 · 0 评论 -
Java的I/O流
https://www.cnblogs.com/biehongli/p/6074713.html原创 2018-03-07 08:56:55 · 128 阅读 · 0 评论 -
线程
并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。(一台电脑运行两个QQ,则两个QQ之间是并行的)并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。(一个QQ的多个聊天)(事务处理系统:Transaction processing...原创 2018-03-07 10:57:38 · 133 阅读 · 0 评论 -
Java中Date和Calendar类的使用
java时间转化的方法原创 2018-03-05 20:56:44 · 275 阅读 · 0 评论 -
线程安全
线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。机制:1、synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”。出现异常会释放锁。 关键字Synchronized拥有锁重入的功能,也就是在使用Synchronized的时候,当一个线程得到一个对象的锁后,在该锁里执行代原创 2018-03-13 10:01:16 · 106 阅读 · 0 评论 -
String-intern()
运行时常量池是方法区的一部分,Class文件中除了类的版本、字段、方法、接口,还有一项就是常量池,他在运行期被JVM装载,并且可以扩充。String的intern()就是扩充常量的一个方法。当一个String的实例string调用intern()方法时,java查找常量池中是否有相同Unicode的字符串常量,如果有,则返回其引用,没有则在常量池中增加一个Unicode等于string的字符串并返...原创 2018-03-28 08:55:32 · 226 阅读 · 0 评论 -
获取请求IP
服务器获取客户端或者网页的请求,获取IP时需要注意,并不是直接request.getRemoteAddr();就可以了,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr() 方法获取的IP地址是:1...原创 2018-06-20 21:47:53 · 3191 阅读 · 0 评论 -
乐观锁
乐观锁的核心算法是CAS(Compareand Swap,比较并交换),它涉及到三个操作数:内存值、预期值、新值。当且仅当预期值和内存值相等时才将内存值修改为新值。CAS是具有原子性的,但这个原子性是由CPU硬件指令实现保证的,即使用JNI调用native方法调用由C++编写的硬件级别指令,jdk中提供了Unsafe类执行这些操作。 乐观锁避免了悲观锁独占对象的现象,同时也提高了并发性...原创 2018-08-05 10:20:06 · 1349 阅读 · 0 评论