- 博客(35)
- 收藏
- 关注
原创 深入理解java虚拟机(垃圾回收)
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的内存。判断对象是否存活的算法引用计数法。给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值
2017-10-23 23:47:22 240
原创 ByteBuffer字节序
java字节序字节序分为两种:BIG-ENDIAN—-大字节序LITTLE-ENDIAN—-小字节序BIG-ENDIAN就是最低地址存放最高有效字节。LITTLE-ENDIAN是最低地址存放最低有效字节。java字节序:JAVA虚拟机中多字节类型数据的存放顺序,JAVA字节序也是BIG-ENDIAN。java中转换字节序ByteBuffer类中的order(ByteOrder bo) 方法可以设置
2017-09-25 21:57:25 8256 1
原创 nginx----location配置
location配置命令~ 波浪线表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录。= 进行普通字符精确匹配。@ “@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files。匹配优先级按
2017-09-22 20:57:36 224
转载 Convert Sorted List to Binary Search Tree
问题给定一个升序排列的有序单链表,将其转换为一棵平衡的二叉搜索树。思路先找到链表中间节点作为根节点,然后递归左右两半部分。可以使用快慢指针找到中间节点。代码public class Solution { public TreeNode sortedListToBST(ListNode head) { if(head == null) return null; if
2017-09-03 20:00:31 198
原创 BST树转换为有序双向循环链表
思路以中序遍历遍历一棵二叉树的时候,每遍历到一个结点,修改该结点的left指针指向前一个遍历到的结点,修改前一个遍历结点的right指针,指向当前结点。每次递归调用的时候,更新当前遍历结点的right指针让其指向头结点head,同时更新头结点head的left指针让其指向当前遍历结点。代码void treeToDoubleList(Node p,Node prev,Node head){
2017-09-03 19:01:54 1059
原创 仅使用栈操作逆置栈
思路写一个递归函数,每次返回并移除栈底元素。再写一个递归函数,每次调用第一个递归函数取得栈底元素,再调用自身,再将本次取得的元素入栈。代码及测试(java)public static int getAndRemoveBottomEle(Stack<Integer> stack){ int result = stack.pop(); if(stack.isEmpt
2017-08-15 14:35:40 1276
原创 判断链表是否有环,并返回环的起始节点
问题判定链表是否有环,如果存在环,找到环的起始节点。思路用两个指针slow,fast,slow指针一次走一步,fast指针一次走两步。如果他们相遇则存在环。那如何找到环的起始节点那?当他们相遇时,让slow指针回到原来的起点。fast指针还在相遇的节点,然后两个指针一次走一步,当他们相遇时就是环的起始节点。证明: 第一次相遇时,slow指针走过的路程S1=非环部分长度+弧A的长度 fast指针走
2017-08-14 12:08:34 524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人