自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 谷粒商城-环境准备

安装docker删除老版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-lo

2021-09-19 13:03:26 166

原创 Git中的坑及解决方法

git clone https://github.com/wanjianr/douye.gitCloning into 'douye'...fatal: unable to access 'https://github.com/wanjianr/douye.git/': OpenSSL SSL_read: Connection was reset, errno 10054解决方法:git config --global http.sslVerify “false”fatal: unable to

2021-08-08 17:02:11 282

原创 Zookeeper学习

1 软件安装下载并解压:tar -zxvf apache-zookeeper-3.6.3.tar.gz配置环境变量: export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin修改配置文件: ./conf/zoo_sample.cfg

2021-05-02 21:08:05 187

原创 【工具】endnote8批量导入enw文件(亲测有效)

在文件夹的路径框内输入“cmd”回车,在弹出的黑框内输入“copy *.enw all.enw”,之后会在当前文件夹内生成合并后的文件,名为all.enw 然后使用subline(其他编辑器也可以)打开all.enw文件,先用<br>%全部替换%,再用<br>%0全部替换%0,然后把文件另存为*.html格式。 用浏览器打开*.html,然后复制里面的所有内容,粘贴在*.txt文本中,接着就可以批量导入到endnote中。 ...

2021-02-22 22:31:47 2896

原创 目标检测资料汇总-个人总结

【CVPR2018】An Analysis of Scale Invariance in Object Detection - SNIP

2020-12-20 16:18:19 126

原创 【计算机基础课程】清华大学软件工程课程学习笔记(未完待续)

软件工程方法面向过程:以算法作为基本构造单元,强调自顶向下的功能分解,将功能和数据进行一定程度的分离(SASD) 面向对象:以类为基本程序单元,对象是类的实例化,对象之间以消息传递为基本手段(OOD、UML、OMT) 面向构件:寻求比类的粒度更大的且易于复用的组件,期望实现软件的再工程(J2EE、DCOM、CORBA) 面向服务:在应用表现层次上将软件构件化,即应用业务过程由服务组成,而服务由构建组装而成(HTTP、XML、UDDI、OWL、SOAP、WSDL)...

2020-12-02 17:06:39 313

原创 【leetcode】括号匹配(使用栈)

题目描述给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。public class Solution { public boolean isValid(String s) { Stack<Character> stack = new Stack<Character>();

2020-12-02 11:27:14 140

原创 【未完待续】【设计模式学习总结】

一、设计模式的分类1.1 根据目的分类(1)创建型:关注对象的创建过程,描述如何将对象的创建和使用分离,让调用者无需关心对象的创建细节,降低耦合的同时也更易于修改和扩展(2)结构型:用于处理类或对象的组合,将现有类或对象组织在一起形成更加强大的结构,(3)行为型:用于描述类或对象怎样交互和怎样分配职责,关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责。1.2 根据范围分类即是用于处理类之间的关系还是处理对象之间的关系,可分为类模式和对象模式两种

2020-11-18 09:00:29 115

原创 【面试】记录小米二面中没有回答上的问题

1. new Object(); 占用多少个字节2. 64位虚拟机中,对象头中的类型指针占用多少个字节(没回答上来,接着又问需要几个字节能访问64位的内存地址,真的是不会...)

2020-11-17 14:45:32 542

转载 【leetcode】622. 设计循环队列之数组实现的循环队列

public class MyCircularQueue { private int front; private int rear; private int capacity; private int[] arr; /** * Initialize your data structure here. Set the size of the queue to be k. */ public MyCircularQueue(int k).

2020-11-16 20:12:37 205

原创 【leetcode】82. 删除排序链表中的重复元素 II(利用数组实现)

题目描述给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。例如:给出的链表为1→2→3→3→4→4→5 返回 1→2→5给出的链表为1→1→1→2→3, 返回 2→3public class Solution { /** * //如果是这种情况 // 1 --> 1 --> 1 --> 2 --> 3 // head next /

2020-11-16 19:54:39 220

原创 【设计模式】工厂方法模式实例

interface Product { void info();}class ProductA implements Product { @Override public void info() { System.out.println("ProductA"); }}class ProductB implements Product { @Override public void info() { System.o.

2020-11-16 17:03:32 108

转载 事务的原子性、一致性、隔离性和持久性理解

事务是指对系统进行的一组操作,为了保证系统的完整性,事务需要具有ACID特性,具体如下:1. 原子性(Atomic) 一个事务包含多个操作,这些操作要么全部执行,要么全都不执行。实现事务的原子性,要支持回滚操作,在某个操作失败后,回滚到事务执行之前的状态。 回滚实际上是一个比较高层抽象的概念,大多数DB在实现事务时,是在事务操作的数据快照上进行的(比如,MVCC),并不修改实际的数据,如果有错并不会提交,所以很自然的支持回滚。 而在其他支持简单事务的系统中,不会在快照上更新,而...

2020-11-16 10:51:13 3500

原创 【leetcode】求x的n次方

public class _50_Powxn { public double myPow(double x, int n) { if (n < 0) { x = 1/x; } double res = 1; while (n > 0) { if ((n&1) == 1) res *= x; x *= x; n = n .

2020-11-16 09:01:20 236

原创 【算法】LRU缓存机制

class Node { int key, val; Node prev, next; Node(int key,int val) { this.key = key; this.val = val; }}// 构造一个双向链表class MyLinkedList { private Node head,tail; private int size=0; MyLinkedList() { head.

2020-11-16 08:57:41 124

原创 【java基础】Synchronized 锁升级

Synchronized 锁升级Java并发——Synchronized关键字和锁升级,详细分析偏向锁和轻量级锁的升级

2020-11-16 08:51:41 166

原创 【设计模式】单例模式实现(静态内部类实现)

class Demo { private Demo () { } static { System.out.println("Demo init"); } private static class Instance { static { System.out.println("Instance init"); } private static final Demo demo = .

2020-11-16 08:40:43 77

原创 【小米面试算法题】计算并返回x的平方根

public class Solution { /** * * @param x int整型 * @return int整型 */ public int sqrt (int x) { if(x<=1) return x; // write code herei int begin = 1; int end = x; int mid = 0; wh.

2020-11-15 21:22:35 181

原创 【小米面试算法题】合并两个有序数组

public class Solution { public void merge(int A[], int m, int B[], int n) { if(B==null || B.length < 1) return; int len = m+n-1; int i = m-1, j = n-1; while(len >= 0) { if(i < 0) { A.

2020-11-15 20:47:24 143

原创 【小米面试算法题】返回子数组的最大累加和

public class Solution { /** * max sum of the subarray * @param arr int整型一维数组 the array * @return int整型 */ public int maxsumofSubarray (int[] arr) { // write code here int[] dp = new int[arr.length]; dp[0.

2020-11-15 20:07:00 209 1

原创 【排序算法】堆排序(HeapSort)-java实现

public class Sort { public static void heapSort(int[] arr) { int last = arr.length / 2 - 1; // 最后一个有孩子节点的下标 for(int i = last; i>=0; i--) { // 原地建堆 sift(arr, i, arr.length-1); } // 交换数组的第一.

2020-11-15 19:59:26 93

原创 【小米面试题】根据快速排序的思路找出数组中第K大的数

public class Finder { public int findKth(int[] a, int n, int K) { // write code here int li = 0, lo = n; K = n - K; // 第K大的元素 --> 数组升序排序后索引为length - K; while(li < lo) { // 在[li, lo)中选一个分界点 .

2020-11-15 18:57:29 160

原创 【面试聚合知识点汇总】

java中虚引用是怎么回事啊?mysql和redis的区别 【 1 】 【 2 】redis知识点总结TCP的三次握手与四次挥手理解及面试题(很全面)TCP 协议如何保证可靠传输 【 1 】 【 2 】关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结bio,nio,aio的区别 select,poll,epoll的区别Java死锁排查...

2020-11-15 11:31:45 98

原创 【数据结构】树形数据结构知识点总结

一、二叉树非空二叉树的第i层,最多有个节点 在高度为 h 的二叉树上最多有 个结点 对于任何一棵非空二叉树,如果叶子节点个数为 n0,度为 2 的节点个数为 n2,则有: n0 = n2 + 1 (利用边与节点数计算) 真二叉树:所有节点的度都要么为 0,要么为 2 满二叉树:最后一层节点的度都为 0,其他节点的度都为 2 完全二叉树:对节点从上至下、左至右开始编号,其所有编号都能与相同高度的满二叉树中的编号对应二、二叉搜索树任意一个节点的值都大于其左子树所有节点的值 任意一个节点的值

2020-11-14 22:04:09 594

原创 【操作系统】线程的基本状态以及状态之间的关系图解

Thread Join()的用法

2020-11-14 20:50:29 173

原创 【JVM】垃圾回收器CMS与G1学习总结

搞懂G1垃圾收集器详解 JVM Garbage First(G1) 垃圾收集器

2020-11-14 19:04:41 126

原创 【java基础】java各类修饰符及内部类学习总结

菜鸟教程--Java 内部类详解

2020-11-14 14:06:23 103

原创 【java基础】Object类中equals()与HashCode()方法理解

1. 约定若两个对象调用equals()方法都返回true,则它们的hashcode一定相等;若两个对象的hashcode相等,不能说明equals() 也相等; 若两个对象的hashcode不相等,则可确定这两个对象equals()一定不想等 equals()默认是使用==实现的.2. hashcode的作用:向集合中插入数据时,快速定位元素的位置,减少equals()比较的次数3. 重写equals()方法时尽量要重写hashCode()方法4. 重写equals()方法实例

2020-11-14 11:26:03 255

原创 【java基础】static、final关键字总结

final修饰变量:常量,次赋值之后,不可变 修饰类:为最终类,不能被继承 修饰方法:可以被继承、重载,但子类不能重写。private 方法隐式地被指定为 final,如果在子类中定义的方法和基类中的一个 private 方法签名相同,此时子类的方法不是重写基类方法,而是在子类中定义了一个新的方法。class Parent { public final void study() { System.out.println("final method study()");

2020-11-14 10:32:05 116

原创 【leetcode】590. N叉树的后序遍历(利用两个栈实现)

/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { val = _val; .

2020-11-13 22:18:06 95

原创 【leetcode】938. 二叉搜索树的范围和(递归与迭代实现)

class Solution { public int rangeSumBST(TreeNode root, int L, int R) { if(root == null) return 0; if(root.val >= L && root.val <= R) { return root.val + rangeSumBST(root.left,L,R) + rangeSumBST(root.right, L, .

2020-11-13 22:01:00 78

原创 【leetcode】226. 翻转二叉树(递归与迭代)

前序遍历class Solution { public TreeNode invertTree(TreeNode root) { if (root == null) return root; TreeNode temp = root.right; root.right = invertTree(root.left); root.left = invertTree(temp); return root; }

2020-11-13 21:41:12 77

原创 【leetcode】617. 合并二叉树(递归与迭代实现)

题目描述:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。递归实现class Solution { public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { if(t1 == null) return t2;

2020-11-13 20:35:06 83

原创 【java基础】java中各种类型锁总结

偏向锁/轻量级锁/重量级锁这三种锁是指锁的状态,并且是针对Synchronized。在Java 5通过引入锁升级的机制来实现高效Synchronized。这三种锁的状态是通过对象监视器在对象头中的字段来表明的。偏向锁是指一段同步代码一直被一个线程所访问,那么该线程会自动获取锁。降低获取锁的代价。轻量级锁是指当锁是偏向锁的时候,被另一个线程所访问,偏向锁就会升级为轻量级锁,其他线程会通过自旋的形式尝试获取锁,不会阻塞,提高性能。重量级锁是指当锁为轻量级锁的时候,另一个线程虽然是自旋,但自旋不会一直持

2020-11-13 17:26:34 91

原创 【小米面试算法题】按螺旋的顺序返回矩阵中的所有元素

题目描述给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。示例输入[[1,2,3],[4,5,6],[7,8,9]]返回值[1,2,3,6,9,8,7,4,5]public class Solution { public static ArrayList<Integer> spiralOrder(int[][] matrix) { ArrayList<Integer> list = new Arr

2020-11-13 16:38:57 522

原创 【小米面试算法题】输出两个字符串的最长公共子串

题目描述:给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。示例:输入"1AB2345CD","12345EF" ;输出:"2345"。public class Solution { /** * longest common substring * @param str1 string字符串 the string * @param str2 string字符串 the string * @return s

2020-11-13 15:31:36 1421

原创 阻塞与非阻塞和同步与异步理解

同步:在多个线程并发访问共享数据时,保证共享数据在同一时刻只被一个(或者是一些,使用信号量的时候)线程使用。阻塞/互斥是实现同步的一种方式,临界区、互斥量和信号量是互斥的主要实现方式阻塞:挂起线程和恢复线程的操作都需要转入内核态完成,线程运行是工作在用户态。...

2020-11-13 13:39:18 59

原创 【java基础】Integer执行自增操作过程解析

public class Demo01 { public static void main(String[] args) { Integer l1 = 3; Integer l2 = new Integer(3); System.out.println(l1 == l2); // fasle Integer l3 = 3; System.out.println(l1 == l3); // true

2020-11-13 09:07:04 2957

转载 【转载】java对象在内存中的结构(HotSpot虚拟机)

https://www.cnblogs.com/duanxz/p/4967042.html

2020-11-13 07:12:28 76

原创 【小米面试算法题】寻找环形链表入口

题目描述:对于一个给定的链表,返回环的入口节点,如果没有环,返回null。( 拓展:你能给出不利用额外空间的解法么? )public class Solution { public ListNode detectCycle(ListNode head) { if(head == null) return null; ListNode slow = head; ListNode quick = head; boolean isCircl

2020-11-12 22:25:08 153

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除