首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
caostgrace
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
深入理解Java虚拟机(九)——类加载的概述和时机
1. 概述 虚拟机把描述类数据的Class文件加载到内存,经过验证、准备、解析、初始后形成一个能被直接使用的Java类型,这个过程就是虚拟机的类加载机制。 ●面向接口的应用程序能在运行期指定实际的实现类。 2. 类加载的时机 类从加载到卸载的整个生命周期包括:加载、验证、准备、…
重学Java-扒一扒Java并发
先提几个曾经困扰过我的问题啊,看似很简单,而且可能还有很多同学还存在误解,我们来一起看一下。 如果这些问题也曾困扰过你,那这篇文章最合适你不过了,接下来我们一起进入Java的世界扒一扒并发。 这2个概念是Java内存模型(Java Memory Model)中提出的,关于内存模…
深入理解Java虚拟机(程序编译与代码优化)
对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化。本文就从虚拟机层面来看看虚拟机对我们所编写的代码采用了哪些优化手段。 一. 早期优化(编译期优化) Java 语言的「编译期」其实是一段「…
JNI访问Java对象的成员
经过前面的几篇文章的学习,我们已经打通了Java层到Native层的通道。Java层调用Native层很简单,只需要调用一个native方法,那么Native层如何回调Java层呢,从这篇文章开始,我们就来探讨这个问题。 Java类的成员(变量和方法)有静态和非静态之分,静态成…
Java程序员必备的一些流程图
整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习。 以上步骤,bean对象已正确构造,通过实现BeanPostProcessor接口,可以再进行一些自定义方法处理。 如:postProcessBeforeInitialzation。 接着Bean准备好被使用啦。 …
你是否还在写try-catch-finally?来使用try-with-resources优雅地关闭流吧
开发中,我们常常需要在最后进行一些资源的关闭。比如读写文件流等,常见的,我们会在最后的finally里进行资源的关闭。但是这种写法是很不简洁的。其实,早在JDK1.7就已经引入了try-with-resources来关闭资源的方式,我们今天就来体验一下try-with-reso…
一文看懂java io系统
Java IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包 流包括字符流和字节流,流从概念上来说是一个连续的数据流。当程序需要读数据的时候就需要使用输入流读取数据,当需要往外写数据的时候…
JNI函数动态注册进阶
在 函数动态注册 这篇文章的结尾提到了一个"动态注册"的工作效率问题。当我们在大型的项目中,需要在底层实现一个功能时,我们会在 Java 层声明一个 native 方法,那么在 JNI 层必须有一个本地函数相对应,我们知道"动态注册"的一个好处是可以随意定义函数的名子,函数的类…
使用自定义注解实现接口参数校验
在接口的开发中,我们有时会想让某个接口只可以被特定的人(来源)请求,那么就需要在服务端对请求参数做校验. 面对这种情况,我们可以选择自定义一个注解,由注解来告诉我们,这个接口允许的访问者是谁. 注:在本文的示例中,仅实现了对某一个字段的校验,安全性并不高,实际项目中,可以采用多…
Java多线程-线程池的创建使用与源码拓展
多线程的设计方法确实可以最大限度的发挥多核处理器的计算能力,提高吞吐量和性能。但是如果不加控制随意使用线程,对系统的性能反而会产生不利。 和进程相比,线程虽然是一种轻量级的,但是创建和关闭依然需要花费时间,如果每一个小的任务都创建一个线程,则会很有可能出现创建和销毁线程占用的时…