- 博客(16)
- 收藏
- 关注
原创 对象的创建与死亡以及内存分配、回收机制.md
对象的创建对象创建的主要流程类加载检查当虚拟机遇到new指令时,首先要检查这个指令的参数是否能在常量池中找到类的符号引用,并检查这个符号引用的类是否已经被加载,验证、解析、初始化过,如果没有那必须先执行相应的类加载过程。分配内存类加载检查通过后,接下来虚拟机要为新生对象分配内存。对象所需要的内存大小在类加载后便可确定。为对象分配空间的任务等同于把一块大小的确定的内存从堆内存中划分出来。对象内存分配中有两个问题:如何进行内存划分并发情况下如何保证多个对象同时内存分配成功。内存分配方式
2020-09-09 21:05:43
248
原创 深入理解类加载器
虚拟机类加载机制就是把 Class 文件加载到内存,并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。一个类有虚拟机加载到内存中的流程包含了多个阶段,其中实现加载阶段中的通过一个类的全限定名来获取描述此类的二进制字节流的动作便是有类加载器来完成的。一般来说、类的加载流程都有虚拟自主完成,开发人员不必关系其实现细节。但是如过如果遇到了需要与类加载器进行交互的情况,而对类加载器的机制又不是很了解的话,就很容易花大量的时间去调试 ClassNotFoundException 和 N
2020-09-07 10:57:36
257
原创 一步步深入类加载过程
文章首发于陈建源的博客,欢迎访问。文章作者:陈建源文章链接: https://www.techstack.tech/post/lei-jia-zai-guo-cheng/之前在网上看到一道面试题,很形象的描述了类的加载初始化过程。要完全理解这道题,就不得不深入理解类加载的过程。面试题如下:class SingleTon { private static SingleTon singleTon = new SingleTon(); public static int count1.
2020-08-14 15:56:23
296
2
原创 字节码文件结构详解
文章首发于陈建源的博客,欢迎访问。文章作者:陈建源文章链接:https://www.techstack.tech/post/jvm-nei-cun-jie-gou/“一次编写,到处运行(Write Once,Run Anywhere)“,这是 Java 诞生之时一个非常著名的口号。在学习 Java 之初,就了解到了我们所写的.java会被编译期编译成.class文件之后被 JVM 加载运行。JVM 全称为 Java Virtual Machine,一直以为 JVM 执行 Java 程序是一件理所当.
2020-08-14 15:44:08
380
原创 JVM 内存结构解析
文章首发于陈建源的博客,欢迎访问。文章作者:陈建源文章链接:https://www.techstack.tech/post/jvm-nei-cun-jie-gou/我们在开发 Java 程序的过程基本不用关心 Java 运行时的内存管理,是因为 Java 程序在运行时内存都由虚拟机来进行管理。Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域,我们称之为运行时数据区域。运行时数据区域根据《Java虚拟机规范(Java SE 7版)》的规定,Java虚拟机.
2020-08-14 15:39:33
182
原创 如何解决“app已损坏,打不开。你应该将它移到废纸篓。”
命令行运行: 修改系统配置:系统偏好设置… -> 安全性与隐私。修改为任何来源 如果没有这个选项的话 ,打开终端,执行sudo spctl --master-disable sudo spctl --master-disable Rference
2017-10-17 11:16:24
4505
原创 java发送xml格式HTTP请求
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamRead
2017-09-12 10:18:29
5924
原创 随机数生成算法
- 返回一个定长的随机字符串(只包含大小写字母、数字)[java] view plain copy print?package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static final String ALLCHAR = "0123456789abcd
2017-09-12 10:00:52
311
原创 java获取指定日期所在周的第一天和最后一天
第一种方法public static String getFirstAndLastOfWeek(String dataStr) throws ParseException { Calendar cal = Calendar.getInstance(); cal.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dataSt
2017-04-17 16:30:09
11089
1
原创 Java集合与JSON集合之间的转换
一、如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换 1. Java对象转换成json(既创建json)关键类:JSONObject jsonObject = JSONObject.from(Object obj);使用说明:只要将Java对象传入方法,那么便可以得到JSONObject,然后你便可以直接json.toString();输出json例
2017-04-17 15:46:35
10193
1
原创 JS数组方法汇总 array数组元素的添加和删除
JS数组方法汇总 array数组元素的添加和删除测试代码:var arr = new Array();arr[0] = "aaa";arr[1] = "bbb";arr[2] = "ccc";//alert(arr.length);//3arr.pop();//alert(arr.length);//2//alert(arr[arr.length-1]);//bbbarr.pop()
2017-04-10 13:49:24
451
转载 Eclipse错误:Could not write metadata for '/RemoteSystemsTempFiles'.
Eclipse关闭时出现错误。解决方法:Project Explorer view > Customize View… > Filters > Uncheck “RSE Internal Projects” > OK然后在Project Explorer中找到RemoteSystemsTempFiles并删除。网上搜到其他可能解决方案:In Window->preferences type ‘re
2017-04-05 16:57:36
2175
原创 Spring jar包详解
以下内容是我在网上搜索、整理、修改的而成的内容。如果有什么错误,烦请指正。org.springframework.beans-3.1.1.RELEASE.jar ---- ---- springIoC(依赖注入)的基础实现,所有应用都要用到的,它包含访问配置文件、创建和 管理bean以及进行Inversion of Control / Dependency Injection(Io
2016-12-08 14:51:57
577
原创 spring搭建所需要的jar包汇总详解
Spring jar包官网下载地址:http://repo.spring.io/release/org/springframework/spring/Spring jar包的描述:针对3.2.2以上版本org.springframework spring-aop ——Spring的面向切面编程,提供AOP(面向切面编程)实现org.springframework spring-
2016-12-08 12:10:20
600
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人