![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java总结
KanKenSing
小渣渣成长记录
展开
-
Maven配置阿里云镜像不生效问题(解决)
除了在maven的settings.xml文件配置```c`<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>原创 2021-03-15 02:11:40 · 3488 阅读 · 0 评论 -
logback日志文件配置 复制即可用
<?xml version="1.0"?><configuration> <property name="log.path" value="./logs"/> <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/info.log</file>原创 2020-07-31 10:08:56 · 216 阅读 · 0 评论 -
Java获取真实IP地址
Java获取真实IP地址public static String getIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (!checkIP(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (!checkIP(ip)) {原创 2020-06-10 09:06:32 · 215 阅读 · 0 评论 -
JVM区域TLAB
TLAB全称是Thread Local Allocation Buffer即线程本地分配缓存,从名字上看是一个线程专用的内存分配区域,是为了加速对象分配而生的,每一个线程都会产生一个TLAB,该线程独享的工作区域,JAVA虚拟机使用这种TLAB区域避免多线程冲突问题,提高了对象分配的效率,TLAB空间一般不会太大,当大对象无法在TLAB区域分配时,则会直接分配到堆上-XX:+UseTLAB 使用...原创 2019-07-22 09:47:34 · 228 阅读 · 0 评论 -
【转】JVM虚拟机参数详解
https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html转载 2019-07-22 09:18:57 · 123 阅读 · 0 评论 -
java Queue中 remove/poll, add/offer, element/peek区别
这里简单对其重复的方法做点简单的区分。offer,add区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。poll,remove区别:remove() 和 poll() 方法都是从队列中删除第一个...原创 2019-07-07 15:08:57 · 533 阅读 · 0 评论 -
线程的六种状态详细描述
线程的六种状态为NEWRUNNABLEWAITINGTIME_WAITINGBLOCKEDTERMINATED以下为源码/*** Thread state for a thread which has not yet started.*/NEW, /** * Thread state for a runnable thread. A thread in t...原创 2019-07-18 09:26:44 · 955 阅读 · 2 评论 -
请你讲讲wait方法的底层原理
wait即object的wait()和notify()或者notifyall()一起搭配使用wait方法会将当前线程放入wait set等待被唤醒1.将当前线程封装成objectwaiter对象node2.通过objectmonitor::addwaiter方法将node添加到_WaitSet列表中3.通过ObjectMonitor:exit方法释放当前的ObjectMonitor对象,这...原创 2019-07-10 16:36:20 · 5508 阅读 · 0 评论 -
位运算符总结
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{...原创 2019-06-25 11:54:13 · 125 阅读 · 0 评论 -
linux下查看jvm详细参数
java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令。jmap这个命令是用来查看当前系统中jvm进程 heap dump的情况,包括对象的数量,对象所占内存的大小使用方式:先使用jps查看进程id使用 jmap -dump:live,file...原创 2019-06-23 23:06:27 · 25376 阅读 · 0 评论 -
死锁的特点
死锁是指在一组进程中的哥哥进程均不占有释放的资源,但因互相申请被其他进程所占用不会释放的资源而处于的一种永久等待状态。即两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。死锁的四个条件:互斥条件:资源不能被共享,只能由一个进程使用请求与保持条件:线程请求别的资源失败的时候,对自己所持有的锁不释放不剥夺条件:对于一个在执行的线程所持有的锁,在这个线程没有执...原创 2019-07-07 18:41:12 · 1042 阅读 · 0 评论 -
GcRoot可以有哪些?
GcRoot是垃圾回收器算法中判断一个对象是否可以回收的一种算法就是对象到达GcRoot的路径是否还有可达,即是否有可引用链,如果有,这表明对象还存在着引用,如果没有,则表明该对象没有引用,在下一次垃圾回收时就会被回收GcRoot的种类1.虚拟机栈:栈帧中的本地变量表引用的对象2.native方法引用的对象3.方法区中的静态变量和常量引用的对象...原创 2019-07-07 15:51:55 · 19113 阅读 · 0 评论 -
JVM强弱引用及算法
停止-复制算法:将可用的内存按容量划分为大小相等的两块(from,to),每次只是用其中一块(总有一块是空的【to区域】)。当这一苦熬的内存用完了,就将还存活着的对象复制到另外一块上面,然后把已使用过的内存空间一次清理完。HotSpot虚拟机默认Eden和Survivor大小的比例是8:1,也就是每次新生代中可用的内存空间为整个新生代容量的90%,只有10%的内存时被浪费的。缺点:浪费内存...原创 2019-07-07 15:45:24 · 151 阅读 · 0 评论 -
数据结构一些不同方法的总结
offer,add区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。poll,remove区别:remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Col...原创 2019-06-25 12:05:33 · 113 阅读 · 0 评论 -
OSI七层模型
记一次面试忘记的惨痛物理层以0,1代表电压的高低,灯光的闪灭。界定连接器和网线的规格,总的来说,就是负责0,1比特流与电压的高低,光的闪灭之间的互换。物理层具体来说就是两个计算机上物理层面上的关系,就是需要用网线之类的东西连接,然后进行连接和通讯。数据链路层互联设备之间传送和识别数据帧,负责物理层面上互连的,节点之间的通信传输,例如与1个以太网相连的2个节点之间的通信,将0,1序列划分为具...原创 2019-06-16 21:54:48 · 84 阅读 · 0 评论