java基础
文章平均质量分 87
你真的是一个很帅的程序媛
这个作者很懒,什么都没留下…
展开
-
史上最全GC原理
史上最全GC原理什么是垃圾定义释放已占用的内存,防止内存泄露清除已经死亡或者长时间未使用的对象内存语言特性c++手动回收垃圾忘记回收回收多次java 自动回收如何定位垃圾引用计数法对象头中分配一片空间用于存储对象引用次数程序执行过程中完成,非STW注意:Recycler 算法可解决循环引用,但在多线程环境下,引用计数变更也要进行昂贵的同步操作,性能较低,早期的编程语言会采用此算法根可达性分析算法GC Root虚拟机栈中引用的对象public原创 2021-01-26 15:23:21 · 512 阅读 · 0 评论 -
笔试笔记
switch在java7后支持sring和枚举类型,也支持int类型或者能转化为int类型的char、byte和short类型以及其包装类,不支持long、float和double类型string属于值传递(原引用所指的值不变),数组其他类型属于引用传递(原引用的值发生变化)volatile可保证可见性,不能保证原子性,点击详见原创 2017-11-23 20:00:28 · 211 阅读 · 0 评论 -
java基础之一 对象,接口
一、==和equals的区别==:基本类型,值相等即返回true引用类型:比较栈(stack)内存的地址是否相等,相等即可返回true(string和integer除外,由于两个对象在jvm中存储不同)equals:不能比较基本类型,只能比较两个对象,堆(heap)内存中的值是否相等,如果相等返回true一般需要自定义,重写该方法,主要有业务决定int t1=1;int t2=2;P原创 2017-07-19 19:59:34 · 302 阅读 · 0 评论 -
java基础之一多线程
一、进程和线程进程:操作系统同时执行多个程序或任务,单个程序或者任务即为一个进程;线程:一个进程中有多个不同的执行顺序流(程序流),即每个不同的执行程序流即为一个线程;二、多线程的优点相比多进程而言,系统会给每个进程分配一个独立的内存空间,但是线程是进程的一个执行路径,即多个线程可以共享一个进程中的内存空间;由于多进程之间内存是相互独立的,所以多进程不能共享内存。三、线原创 2017-07-24 14:41:18 · 277 阅读 · 0 评论 -
java基础之一 数组、对象
一、数组定义 Type[] name;(常用),基本很少使用Type name[];初始化 静态初始化:int[] it=new int[4];在类初始化时默认产生,栈内存存储it地址指向堆内存中的[0][0][0][0],四个默认为int 0的数组动态初始化:int[] it={1,2,3,4};动态指认数组的值java8增强 java8提供Arrays增强类实现对数组的操作原创 2017-07-18 18:13:36 · 314 阅读 · 0 评论 -
java基础之一异常
异常分类Error:与虚拟机相关,例如系统崩溃,虚拟机错误,动态链失效等,无法捕获举例:AWTError,IOError,LinkageError,ThreadDeath等Exception:分为RuntimeException及其子类和非运行异常(SQLException,IOException)举例:NullException(调用对象实例方法或者变量时),classNotFundExcepti原创 2017-07-31 16:52:45 · 300 阅读 · 0 评论 -
java基础之一注释
java注释:详见点击打开链接自定义注释:使用@interface关键字@Target(ElementType.TYPE)public @interface Table { /** * 数据表名称注解,默认值为类名称 * @return */ public String tableName() default "className";}原创 2017-07-31 15:21:03 · 289 阅读 · 0 评论 -
java基础之JDBC编程(mysql)
JDBC(java dadabase connection)SQL分类DDL:dadabase definition langnage:数据定义语言:create,alter,drop,truncate;DML:databae manipulation langnage:数据操作语言:insert,update,deleteDCL:database controll langnage:数据控制怨言...原创 2017-07-31 09:42:50 · 406 阅读 · 0 评论 -
new一个对象,java虚拟机做了什么?
这个问题一直困扰我很久,面试被问到好多次,但是都没有一个清晰的认识,然后最近在回头过来看下java基础回味下。当刚写完一个java程序,main方法new一个对象,内存做了如下操作: 初期: 程序先进入编译时期,jre将程序代码编译成字节码信息; 中期 首先通过类装载器载入类文件的字节码信息,经过解析后将其装入内存方法区,其中包括类的成员变量和方法;原创 2017-07-21 12:43:34 · 2763 阅读 · 0 评论 -
java基础之一 类型、算术运算和控制语句
一,类型划分1.基本类型数值类型:byte:1个字节short:2个字节int:4个字节long:8个字节浮点类型:float:4个字节,32位码double:8个字节,64位码字符类型:char:2个字节,解释字符型也是整数类型。'A'==65 》true 97=='a'布尔类型:boolean:true,false基本类型的转化 @自动转化 byte->short(c原创 2017-07-18 13:53:24 · 309 阅读 · 0 评论 -
java内存分配宝典
最近仔细研究下java的内存管理机制和垃圾回收机制,现在总结如下:1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的转载 2017-07-21 15:29:53 · 307 阅读 · 0 评论