![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 83
Java 资料
史前大洪水
Aye
展开
-
Java - 程序员面试笔记记录 & 实现 - Part1
社招又来学习 Java 啦,这次选了何昊老师的程序员面试笔记作为主要资料,记录一下一些学习过程。原创 2024-06-27 10:52:39 · 768 阅读 · 0 评论 -
Java - 程序员面试笔记记录 & 实现 - Part2
序列化:实现序列化的类需要实现Serializable 接口(标记接口),调用方法为:使用一个输出流构造一个 ObjectOutputStream 对象,使用其 writeObject 方法来写出对象。- 同步 & 异步:关注消息发起和接受的机制,同步是发起一个IO操作后得到返回才进行后续操作,异步是指发起IO操作后不等待返回。:当需要添加新的功能时,可以简单地创建新的装饰者类,而不是修改现有的类,这符合开闭原则(对扩展开放,对修改封闭)。装饰者模式通过组合来实现,耦合度较低。同样,其不是线程安全的。原创 2024-07-01 15:37:04 · 970 阅读 · 0 评论 -
Java - 程序员面试笔记记录 & 实现 - Part3
方法只是提示线程调度器(Thread Scheduler),当前线程愿意让出对CPU的使用,但是否真的会立即让出CPU时间片,取决于线程调度器的实现和当前的线程调度策略。线程是程序执行的最小单元,一个进程可以拥有多个线程,各个线程之间共享程序的内存空间以及一些进程级资源,但拥有自己的栈空间。start 方法启动线程后,线程为就绪状态,JVM通过调用线程的 run 方法完成实际的操作。:重入锁,是指在同一线程中,外部方法获得锁后,内部方法仍然可以回去该锁,若锁不具有可重入性会导致死锁。原创 2024-07-04 16:59:20 · 888 阅读 · 0 评论 -
Java - 程序员面试笔记记录 & 实现 - Part4
程序计数器:线程私有,可以看作当前线程执行的字节码的行号指示器,解释器的工作原理就是通过改变这个计数器的值来确定下一条需要被执行的字节码指令。Eden 存放新建的对象。2. 追踪回收算法:利用JVM维护的对象引用图,从根节点开始遍历对象的应用图,遍历结束时未被标记的对象就是已不再使用的对象、:当某个类的对象需要严格控制数量,或者对象的创建和销毁需要额外的资源管理时,使用单例模式可以确保资源的有效利用。抽象工厂:向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。原创 2024-07-09 10:52:51 · 936 阅读 · 0 评论 -
Java - 程序员面试笔记记录 & 实现 - Part5
Executor:拦截内部执行器,负责调用 StatementHandler 操作数据库,并把结果通过 ResultSetHandler 进行自动映射,还处理了二级缓存操作。StatementHandler:拦截SQL语法构建的处理。也实现了一级缓存。ParamenterHandler:拦截参数处理。ResultSetHandler:拦截结果集的处理。原创 2024-07-16 22:40:05 · 894 阅读 · 0 评论 -
LeetCode 中级算法 JAVA实现
面试题目15:三数之和将数组排序,遍历数组,以当前数为第一个数,在后面的序列中寻找剩余的两个数(头尾指针方式)。注意当前数大于0则可结束,且需要跳过重复的数。public static List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> lists = new ...原创 2018-06-12 18:43:38 · 413 阅读 · 0 评论 -
JAVA 剑指offer 第二版 6
面试题 67:将字符串转化为整数注意考虑正负数,非法字符,空字符串,溢出等问题。 public static int TurnStringToNum(char[] st){ if (st == null || st.length == 0){ error = true; return 0; } b...原创 2018-05-17 11:24:23 · 742 阅读 · 0 评论 -
JAVA实现 剑指offer第二版 5
面试题53_1:在排序数组中查找数字因数组有序,可以考虑二分查找,但二分查找后还需顺序查找第一个k和最后一个k,可以在二分查找的过程中对是否为第一个或最后一个k进行判断。最终的复杂度控制在o(logn);public static int getApperanceNumber(int[] nums,int k){ if (nums == null || nums.length ==...原创 2018-05-16 21:40:22 · 388 阅读 · 0 评论 -
Jvm主要面试问题整理
答案写的比较随意,只总结了要点。基本答案都来自于深入理解java虚拟机。1 . 内存划分为几个区,每个区的作用方法区:也称为永久代。在该区很少发生gc,一般gc是针对常量池和对类型的卸载。主要用于存储已经被jvm加载的类信息,常量,静态变量,代码等。线程共享。虚拟机栈:为方法服务,每个方法在执行时会创建一个栈帧,用于存储局部变量表,方法出口等。线程私有。本地方法栈:与虚拟机栈类似,...原创 2018-08-08 09:30:36 · 1518 阅读 · 0 评论 -
JAVA实现 剑指offer第二版 2
面试题16:数值的整数次方需要考虑底数为0的情况,指数为正或负的情况;在计算次方时,应注意到4次方为2次方的2次方,可以进行递归调用减少复杂度;也要主要到double类型的比较不能直接使用==;private static boolean g_InvalidInput = false; public static void main(String[] args){ Syst...原创 2018-04-26 19:15:01 · 299 阅读 · 0 评论 -
LeetCode 初级算法 JAVA实现
26.删除数组中重复元素自己写的是遍历一个数,找到其重复的个数,设置一个指针记录总重复数,也就找到了最后要访问的节点,有重复的则将后面的元素往前挪设置快慢指针,慢指针不同才走,快指针走完全程时,慢指针刚好走到剩余元素完。...原创 2018-05-27 20:43:30 · 1045 阅读 · 1 评论 -
Java实现 剑指offer(第二版)1
题目2:实现Singleton模式构造函数设为私有函数;饿汉式;懒汉式+同步锁;静态内部类;//饿汉式class Singleton1{ private static Singleton1 s1= new Singleton1(); private Singleton1(){}; public static Singleton1 get(){ return...原创 2018-04-18 21:01:29 · 1256 阅读 · 0 评论 -
Java主要问题整理
这篇放上目前为止看的一些java题目。后期差不多就是整理复习了。应该在秋招结束后会再发一篇比较长的各类问题的汇总。1.final关键字如果一个类被修饰为final,则该类不能作为父类被继承;也因此final和abstract不能同时修饰,其语义冲突;Final修饰方法,则该方法不能被重写(但是可以进行重载),前提是子类继承了该方法;Final修饰变量,需要显式初始化,修饰的变量初始...原创 2018-08-09 21:59:54 · 310 阅读 · 0 评论