腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
java 成神之路
专栏作者
举报
163
文章
265499
阅读量
63
订阅数
订阅专栏
申请加入专栏
全部文章(163)
java(50)
其他(40)
jvm(17)
编程算法(12)
jdk(12)
spring(9)
linux(7)
socket编程(7)
mvc(6)
存储(6)
缓存(6)
安全(6)
servlet(5)
tomcat(5)
人工智能(5)
xml(4)
数据库(4)
消息队列 CMQ 版(4)
tcp/ip(4)
.net(3)
node.js(3)
api(3)
hashmap(3)
自动驾驶(2)
ios(2)
javascript(2)
bash(2)
html(2)
云数据库 SQL Server(2)
sql(2)
容器(2)
黑客(2)
yum(2)
rpc(2)
windows(2)
数据结构(2)
https(2)
微服务(2)
cpu(2)
time(2)
php(1)
jsp(1)
bootstrap(1)
react(1)
ide(1)
eclipse(1)
git(1)
unix(1)
centos(1)
bash 指令(1)
容器镜像服务(1)
SSL 证书(1)
数据加密服务(1)
es 2(1)
开源(1)
压力测试(1)
ssh(1)
正则表达式(1)
dns(1)
asp(1)
ftp(1)
grep(1)
二叉树(1)
aop(1)
ddos(1)
udp(1)
数据分析(1)
数据处理(1)
nat(1)
mvcc(1)
client(1)
flush(1)
io(1)
ip(1)
kill(1)
sequence(1)
server(1)
statistics(1)
swap(1)
服务(1)
函数(1)
脚本(1)
进程(1)
快捷键(1)
排序(1)
同步(1)
异步(1)
字符串(1)
搜索文章
搜索
搜索
关闭
Netty 之 FileRegion 文件传输
socket编程
ios
java
jvm
Netty 传输文件的时候没有使用 ByteBuf 进行向 Channel 中写入数据,而使用的 FileRegion。下面通过示例了解下 FileRegion 的用法,然后深入源码分析 为什么不使用 ByteBuf 而使用 FileRegion。
java404
2019-03-13
4.9K
1
java 成神之路
java
jvm
编程算法
感觉自己技术不错的小伙伴们,看看有没有自己欠缺知识点,赶快补起来吧。 java成神之路 一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 HotSpot 即时编译器、编译优化 类加载机制 classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(
java404
2018-06-08
1.8K
0
NIO 之 MappedByteBuffer
java
jvm
可参考: MappedByteBuffer以及ByteBufer的底层原理 概述 Bytebuffer分为两种:间接地和直接的,所谓直接就是指MappedByteBuffer,直接使用内存映射(java的话就意味着在JVM之外分配虚拟地址空间);而间接的ByteBuffer是在JVM的堆上面的。间接缓冲区就是我们通常说的堆缓冲区。 直接缓冲区 java内部是使用 DirectByteBuffer 来实现的。 堆缓冲区java内部是使用 HeapByteBuffer 来实现的。 class DirectB
java404
2018-05-18
1.4K
0
jvm 性能调优工具之 jstack
jvm
jdk
概述 jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆栈信息。 Jstack 用法 image 参数说明: -l 长列表. 打印关于锁的附加信息,例如
java404
2018-05-18
953
0
jvm 性能调优工具之 jcmd
jvm
jdk
概述 在JDK1.7以后,新增了一个命令行工具 jcmd。他是一个多功能的工具,可以用它来导出堆、查看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc 工具的飞行记录器)。 命令格式 jcmd <pid | main class> <command ... | PerfCounter.print | -f file> jcmd -l jcmd -h 描述 pid:接收诊断命令请求的进程ID。 main class :接收诊断命令请求的进程的main类。匹配进程时,main类名
java404
2018-05-18
7.7K
0
jvm 性能调优工具之 jps
jvm
linux
java
grep
概述 jps 命令类似与 linux 的 ps 命令,但是它只列出系统中所有的 Java 应用程序。 通过 jps 命令可以方便地查看 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息。
java404
2018-05-18
1.2K
0
Junit 多线测试 问题
jvm
问题 在使用Junit测试时,发现在测试方法中启动新的线程,结果新开启的线程未执行,测试方法就结束了。难道Junit不支持多线程测试? 示例如下: public class ThreadTest { @Test public void testSleep() { Thread t = new Thread(()-> { try { Thread.sleep(1000); } catch (Exce
java404
2018-05-18
1.4K
0
Tomcat WebappClassLoader 类加载机制源码分析
tomcat
jvm
需要了解的知识JVM 类加载机制深入浅出 tomcat中的ClassLoader 启动类加载器(BootStrap ClassLoader):引导类装入器是用本地代码实现的类装入器,它负责将 jdk中
java404
2018-05-18
1.3K
0
AbstractQueuedSynchronizer 源码分析
java
jdk
jvm
概述 Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是较为低下,虽然在1.6后,进行大量的锁优化策略,但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷性的隐式获取锁释放锁机制(基于JVM机制),但是它却缺少了获取锁与释放锁的可操作性,可中断、超时获取锁,且它为独占式在高并发场景下性能大打折扣。 AQS,AbstractQueuedSynchronizer,即队列同步器。它是构建锁或者其他同步组件的
java404
2018-05-18
613
0
JVM基于栈的解释器执行原理
java
jvm
继上一篇字节码分析finally块对return返回值的影响,好多人对局部变量表和操作数栈之间的关系搞不清楚,下面通过图解来描述局部变量表和操作数栈直接的关系。 通过下面这段代码来解释JVM基于栈的执行原理 4. public static int add(int a, int b) { 5. int c = 0; 6. c = a + b; 7. return c; 8. } 查看字节码的命令:javap -verbose ByteCode.class add方法的字节码如下: public st
java404
2018-05-18
805
0
JVM垃圾回收算法
jvm
编程算法
java
jdk
判断Java中对象存活的算法 1.引用计数器算法: 引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为0的时候,JVM就认为对象不再被使用,是“垃圾”了。 引用计数器实现简单,效率高;但是不能解决循环引用问问题(A对象引用B对象,B对象又引用A对象,但是A,B对象已不被任何其他对象引用),同时每次计数器的增加和减少都带来了很多额外的开销,所以在JDK1.1之后,这个算法已经不再使用了。 2.根搜索方法: 根搜索方法是通过一些“GCRo
java404
2018-05-18
626
0
JAVA对象在JVM中内存分配
java
jvm
jdk
人工智能
如果你还不了解JVM内存模型的建议您先看下JVM内存模型 以一下代码为例,来分析下,java的实例对象在内存中的空间分配(JDK1.8)。 public class Student { private String name; private static Birthday birthday = new Birthday(); public Student(String name) { this.name = name; } public sta
java404
2018-05-18
1.8K
0
常量池之字符串常量池String.intern()
jvm
运行时常量池是方法区(PermGen)的一部分。 需要提前了解: 1. JVM内存模型。 2. JAVA对象在JVM中内存分配 常量池的好处 常量池是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。 Java的自动装箱中其实就使用到了运行时常量池。详见:Java 自动装箱与拆箱的实现原理 还有字符串常量池。 字符串进入到常量池的两种方法: 1. new String()的实例调用intern()方法。 执行intern()方法时,若常量池中不存在等值的字符串,JVM就会在常
java404
2018-05-18
1.1K
0
JVM 内存区域大小参数设置
jvm
编程算法
asp
jdk
需要提前了解的知识点: JVM内存模型 JVM垃圾回收算法 下图是JVM内存区域划分的逻辑图 JVM内存区域逻辑图 从图中我们大概了解JVM相关的内存区域。 JVM内存包括区域 Heap(堆区) Ne
java404
2018-05-18
4.6K
0
java内存模型
java
jvm
存储
前言 在学习java多线程并发编程前,必须要了解java内存模型,只有了解java内存模型,才能知道为什么多线程并发时会出现数据不一致,什么时候需要加锁同步等各种问题。下面只是简单阐述下java内存模型及其相关的概念。 内存模型简介 java的并发采用的是共享内存模型(而非消息传递模型)。 Java内存模型(Java Memory Model)描述了Java程序中各种变量(共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。 Java线程之间的通信由Java内存模型(JMM
java404
2018-05-18
973
0
JVM(HotSpot) 垃圾收集器
jvm
编程算法
java
需要提前了解的知识: JVM内存模型 JVM垃圾回收算法 HotSpot虚拟机所有的垃圾收集器如下图: HotSpot 所有垃圾收集器 上面有7种收集器,分为部分,上面为新生代收集器,下面是老年代
java404
2018-05-18
688
0
JVM内存模型
jvm
java
内存划分 java虚拟机按照运行时内存使用区域划分如图: Paste_Image.png 区域 是否线程共享 是否会内存溢出 程序计数器 否 不会 java虚拟机栈 否 会 本地方法栈 否 会 堆 是
java404
2018-05-18
747
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档