随笔分类 - JavaSE
摘要:1.JVM垃圾回收机制 1.1 标记算法 引用计数法(进行对象引用计数)——缺点是无法进行解决循环引用 可达性分析——通过一个图,进行从root节点往下进行遍历,没有遍历到的就是无引用对象 1.2 回收算法 标记-清除法——分为标记,清除两个算法,先一层循环进行标记,再一层循环进行清除 复制算法——
阅读全文
摘要:export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) mac有自带的工具,直接使用/usr/libexec/java_home之后可以切换多个版本进行控制台使用
阅读全文
摘要:数据库连接池,DBUtil的模板,Druid使用(重点) 一、DBUtil模板 二、数据库连接池 数据库连接池是为了减少频繁开关连接的时间,分析应该具备几个属性 1.初始大小 2.每次扩容大小 3.连接池最大个数 4.空闲连接死亡时间 各种数据库连接池 DBCP C3P0 Druid hikariC
阅读全文
摘要:Java多线程(一) [TOC] 一、线程的定义 二、Synchronize线程同步 概念:线程同步指的是,即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作。 多线程访问同一个资源会产生线程安全问题,所以需要进行加锁。
阅读全文
摘要:JDK12的安装搭建 一、JDK下载 1、JDK官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12 downloads 5295953.html 2、选择:“Accept License Agreemen
阅读全文
摘要:1.反射机制性能问题(安全检查) 1.1setAccessible 启用和禁用访问安全检查的开关,值为true,则指示反射的对象在使用时应该取消Java语言访问检查,值为false,则指示反射的对象应该实施Java语言的访问检查。 1.试验一,普通调用10亿次,需要约2258ms。 2.试验二,普通
阅读全文
摘要:Thinking in Java这本书很久前就购买了,打算有时间看一下,因为自己的时间被自己安排的紧张,也没时间看书。黄师傅上次课程讲到了注解的使用和反射的使用,今天打算学习一下注解。该文章参考Thinking in Java的第20章Annotation。 简单介绍 注解为我们代码中添加信息提供了
阅读全文
摘要:yum install glibc.i686 重新安装,javac成功 如果还有如下类系错误 再继续安装包 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such fi
阅读全文
摘要:之前初学时看过可以实现Iterable接口实现Iterator迭代器的支持,并且也支持foreach循环。现在学习了数据结构,手动写一个单链表支持foreach循环吧。 手写foreach循环步骤: 1.实现Iteratable接口 2.内部类实现Iterator接口,重写getNext方法和nex
阅读全文
摘要:复习面试题中遇到锁的内容当时大一学习的时候感觉懵懂,现在重新复习一下。 1.1多线程 1.1.1线程 1.什么是线程 线程是程序执行的一条路径,一个进程中包含多条进程 2.并行与并发 并行是两个任务同时运行,甲任务进行的同时,乙任务也在进行 并发是指两个任务都请求运行,处理器只能处理一个任务,就将两
阅读全文
摘要:1.类加载器 1.1类的加载 程序使用某个类时,该类加载进内存中 通过加载,连接,初始化三步进行初始化 1.1.1加载,读入内存,将class读入内存,并且创建一个对象 1.1.2连接,验证,是否有正确结构 给静态成员分配内存 解析,将类的二进制数中符号转换为直接引用 1.2类加载实际 凡是用到某个
阅读全文
摘要:关于至此,我从大一下学习,以及大二上的巩固,这应该是SE部分的最后一章节内容,介绍一下jdk10的新特性 jdk在更新10之后,出现很多新特性,根据我所观看的视频,主要提及以下几点新特性 1.新增var弱类型变量,可作为局部变量(不可作全局) 2.垃圾回收机制变为并行收集,每次jdk更新都会进行优化
阅读全文
摘要:1.hash散列算法 由于hashmap在存储过程中是数组加链表的存储过程,所以定义数组长度为16(建议是2的n次幂的长度),之后进行每个数组的地址都指向一个链表进行存储 hash表算法可对数组长度length取余,如果length是2的n次幂,则可对length-1取位运算& 例如,任意长度8是2
阅读全文
摘要:关于实现链表的底层原理 链表便于增删,不便于查询 Vector向量中大部分方法加了sychronized,保证线程安全
阅读全文
摘要:Array 查询效率高,增删效率低( Link 增删效率高 Vector 线程安全 List 列表 源代码:
阅读全文
摘要:出于对自己基础的稳打,期末考试后依旧对SE部分进行复习 枚举的基本用法
阅读全文
摘要:问答题 1.如果准备读取一个文件的内容,应该使用FileInputStream还是FileOutputStream? FileInputStream 2.FileInputStream流的read()方法与FileReader流的read()方法有何不同? FIleInputStream的read可
阅读全文
摘要:问答题 1.线程和进程是什么关系? 进程是程序的一次动态执行,对应了从代码加载,执行至执行完毕的一个完整的过程 线程是比进程更小的执行单位,一个进程在其执行过程中可以产生多个线程,形成多条执行线索 2.线程有几种状态? 4种,新建,运行,中断,死亡 3.引起线程中断的常见原因是什么? 1.执行了sl
阅读全文
摘要:问答题 1.怎样实例化一个Calendar对象? Calendar ca=Calendar.getInstance(); 2.Calendar对象调用set(1949,9,1)设置的年月日分别是多少? 就是1949,9,1 3.怎样得到一个1—100的随机数? 4.有集合{1,2,3,4}和集合{1
阅读全文
摘要:Make efforts eveyday 问答题 1.对于字符串 String s1=new String("ok"); String s2=new String("ok"); 写出下列表达式的值 s1==s2 false s1.equals(s2) true 2.对于字符串 String s1=n
阅读全文