几分钟了解下java虚拟机--01-牛翰网

几分钟了解下java虚拟机–01

JDK, JRE, JVM的关系 解释器: 逐行转换字节码为机器码 即时编译器(JIT):将热点代码(经常执行的代码段)编译成高效的本地机器码,并缓存起来以供后续直接执行 Just-In-Time Compiler 就范围来说...
几分钟了解下java虚拟机--02-牛翰网

几分钟了解下java虚拟机–02

几分钟应该看不完,私密马赛, 俺是标题党 既然来了, 看看吧, 球球你了 Java类加载器 类的生命周期和加载过程 加载 加载所有的.class文件/jar文件/网络流 →字节流 (JVM 与java.lang.classLoader...
好多分钟了解下java虚拟机--03-牛翰网

好多分钟了解下java虚拟机–03

垃圾回收 引用计数法和可达性分析 引用计数法 即记录对象的 reference count 若≠0则保留 a, b对象相互引用, 不可回收, 造成内存泄露 可达性分析(JVM主流使用) 从GC Root出发的树状结构 若对象...
hot100之二分查找-牛翰网

hot100之二分查找

搜索插入位置(035) class Solution { public int searchInsert(int[] nums, int target) { int n = nums.length; int lef = -1; int rig = n; while(lef+1 < rig){ int mid = (lef + rig) / ...
几分钟了解下java虚拟机--04-牛翰网

几分钟了解下java虚拟机–04

方法内联 它的基本思想是在调用某个方法时,不通过跳转指令去执行该方法的代码,而是直接将该方法的代码复制到调用点处。这样可以减少方法调用的开销,包括减少函数调用和返回的指令执行时间,...
hot100之堆-牛翰网

hot100之堆

虽然更多用的是桶 数组中的第k个最大元素(215) 桶排序 class Solution { public int findKthLargest(int[] nums, int k) { int[] buckets = new int[200001]; for (int i = 0; i < nums.leng...
hot100之贪心-牛翰网

hot100之贪心

买卖股票的最佳时期(121) class Solution { public int maxProfit(int[] prices) { int res = 0; int min = Integer.MAX_VALUE; for (int i = 0; i < prices.length; i++){ min = Math.min(m...
BIO, NIO, AIO 大白话 - 澄澈大学生也能搞懂-牛翰网

BIO, NIO, AIO 大白话 – 澄澈大学生也能搞懂

最近天天吃沙县, 就拿沙县分析 BIO Block I/O 沙县分析 相近时间来了4个顾客 顾客 菜品 时间 A 筒骨饭 5min B 茄子肉丝盖饭 7min C 猪脚饭 3min D 茄子肉丝盖饭 7min 老板只能按照顺序 5+7+3+7 ...
hot100之动态规划上-牛翰网

hot100之动态规划上

爬楼梯(070) class Solution { int[] memo = new int[50]; public int climbStairs(int n) { if (memo[n] != 0) return memo[n]; if (n == 0 || n ==1 ){ return 1; } if (n == 2){ return 2; }...
hot100之动态规划下-牛翰网

hot100之动态规划下

最长递增子序列(300) class Solution { public int lengthOfLIS(int[] nums) { int res = 1; for(int num : nums){ int idx = findLarge(nums, res, num); nums[idx] = num; if (idx == res) ...