- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 珍爱网面经(一面)
越努力越幸运! 其实自己最近的状态都不是很好,秋招已经快要结束了,也经过了8场面试了,目前只得到了一个小公司的offer,真的是劝退价,不能再少了。哎,继续复盘看书复习吧~坚持到10月底吧~真的很多知识点看过,但是真的记不下来!珍爱网的笔试题涉及到自己不懂的知识点一.jvm的参数 -XmsSize(最小堆内存) * -XmxSize(最大堆内存) * ...
2018-10-14 00:40:20 2038 1
转载 如何找到 java 程序 CPU 使用率100%的原因
越努力越幸运!转载:https://blog.csdn.net/mine_song/article/details/72964843最近程序在一台机器上出现了 cpu 占用率100%的情况,而执行同一份代码的其他机器则没有问题。很让我崩溃~~今天找到了解决方案: 1.用top 命令查看占用资源最多PID(进程): 如 pid 为 1000; 2.再用 top -...
2018-10-12 23:14:31 3656
转载 多态在jvm类加载中的体现
越努力越幸运! 0.前言转载请标明出处:http://blog.csdn.net/seu_calvin/article/details/52191321多态在Java技术里有很重要的地位,在面试中也会经常被问到。多态的使用大家应该都比较了解,但是多态的实现原理就有点抽象了,查了很多很多资料,连续几天断断续续的看,有时候看着看着就走神了。毕竟太抽象,哈哈~不过依然硬着头皮看下...
2018-10-12 22:55:57 607
转载 设计模式-08 代理模式
java动态代理(JDK和cglib)JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 ...
2018-10-08 00:07:45 150
转载 数据结构 二叉树
越努力越幸运!转载自:https://www.javazhiyin.com/12976.html 实现了二叉树的深度和广度优先遍历深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。而二叉树的深度优先遍历分为先序遍历,中序遍历和后续遍历。先序遍历:先访问根,在访问左子树,最后访问右子树,总结就是“根左右”; 中序遍历:先访问左子树,再访问...
2018-10-08 00:06:37 199
转载 数据结构 排序算法
越努力越幸运! 转载自:https://www.javazhiyin.com/13397.html 稳定排序与不稳定排序 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法直接插入排序 直接插入排序介绍直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看...
2018-10-07 14:03:28 755
原创 Java学习总结
越努力越幸运! JAVA基础篇 Java基础(1)-数据类型 java基础(2) —基本语法(这里的泛型还不是很理解) java基础(3) —异常机制 java基础(4) —反射JAVA集合篇 java集合(1)集合总体框架 java集合(2)—ArrayList java集合(3)—LinkedLi...
2018-10-07 02:54:06 2699 1
转载 数据结构—二叉平衡树 红黑树
平衡二叉树(AVL) 平衡二叉查找树,又称 AVL树。 它除了具备二叉查找树的基本特征之外,还具有一个非常重要的特点:它 的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值(平衡因子 ) 不超过1。 也就是说AVL树每个节点的平衡因子只可能是-1、0和1(左子树高度减去右子树高度)。那么如何是二叉查找树在添加数据的同时保持平衡呢?基本思想就是:当在二叉排序树中插入一个节...
2018-10-07 02:49:27 407
转载 设计模式06
转载:https://www.cnblogs.com/stonefeng/p/5679638.html https://blog.csdn.net/zdy0_2004/article/details/50703496 https://www.cnblogs.com/lixiuyu/p/5923160.html ...
2018-10-07 02:44:35 218
转载 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
转载:https://blog.csdn.net/zyq522376829/article/details/47686867 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆时间复杂度是O(mlogm),算法的时间复杂度为O(n...
2018-10-07 02:39:13 564
转载 hibernate
越努力越幸运~ https://blog.csdn.net/David8631/article/details/2676615https://blog.csdn.net/qq1137623160/article/details/71194677Hibernate工作原理及为什么要用?原理:1. 读取并解析配置文件2. 读取并解析映射信息,...
2018-10-07 02:34:29 181
转载 jdbc常见面试题
越努力越幸运! https://blog.csdn.net/wangqing84411433/article/details/69233298 JDBC操作数据库的步骤 ?1.注册数据库驱动。2.建立数据库连接。3.创建一个Statement。4.执行SQL语句。5.处理结果集。6.关闭数据库连接。2.JDBC中的Statement 和PreparedStateme...
2018-10-07 02:33:29 1515
转载 数据库(4)数据库锁机制
越努力越幸运!Mysql锁介绍Mysql不同的存储引擎支持不同的锁机制,根据不同的引擎划分,mysql锁机制分类如下: 行锁 表锁 MyISAM 不支持 支持 InnoDB 支持 支持 很明显可以看到,MyISAM不支持行锁,而InnoDB支持行锁,可能还有人说BDB引擎的页锁呢? 这里不做介绍,BDB已...
2018-10-07 02:31:37 251
转载 数据库(2)存储引擎 索引
越努力越幸运!转载:https://blog.csdn.net/suifeng3051/article/details/52669644https://www.jb51.net/article/142840.htm数据库索引的实现原理:数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据...
2018-10-07 01:49:28 327
转载 操作系统
越努力越幸运! 1、进程和线程以及它们的区别 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发; 线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的 实时性,实现进程内部的并发; 一个程序至少有一个进程,一个进程至少有一个线程,线程依赖于进程而存在; 进程在执行过程中拥有独立的内存单元,而多个线程共享...
2018-10-07 01:48:25 227
转载 计算机网络
越努力越幸运!深度好文!网络通信过程及实践2.3.1 TCP三次握手和四次挥手明显三次握手是建立连接,四次挥手是断开连接,总图如下:2.3.1.1 握手(1)首先,Client端发送连接请求报文(SYN=1,seq=client_isn)(2)Server段接受连接后回复ACK报文,并为这次连接分配资源。(SYN=1,seq=client_isn,ack = ...
2018-10-07 01:47:05 609
转载 数据库(5)数据库优化
越努力越幸运!.数据库优化的思路1.SQL语句优化1)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num...
2018-10-06 15:08:00 236
转载 数据库(1)基础
越努力越幸运! 一.数据库的基础知识人工管理系统->文件管理系统—>数据库系统阶段数据库系统组成:数据库,数据库管理系统,数据库管理人员,用户,支持数据库系统的硬件及软件数据模型:(数据结构+数据操作+完整性约束) 实体完整性约束,参照完整性约束 用户定义的完整性约束。常见的数据模型:层次模型,网状模型,关系模型关系数据库的规范化 五个范式等级...
2018-10-06 14:59:58 505
转载 数据库(3)事务
越努力越幸运! 事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。一般的事务指的都是数据库事务,但是广义事务的定义不局限于数据库事务。事务有4大特性,即 ACID。ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事...
2018-10-06 00:46:41 190
转载 java多线程(10)—顺序打印ABC
越努力越幸运! java多线程面试题public class Test { public static void main(String[] args) { Thread a = new Thread(new Task("A",0)); Thread b = new Thread(new Task("B",1)); Thre...
2018-10-06 00:40:35 755
转载 java多线程(9)—线程池
越努力越幸运!转载自:https://www.javazhiyin.com/18095.html 1. 为什么要使用线程池在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来管理线程,使用线程池管理线程主要有如下好处: 降低资源消耗。通过复用已存在的线程和降低线程关闭的次数来尽可能降低系统性能损耗; 提...
2018-10-06 00:32:30 201
转载 java集合(8) CopyOnWriteArrayList
越努力越幸运!1.CopyOnWriteArrayList的简介java学习者都清楚ArrayList并不是线程安全的,在读线程在读取ArrayList的时候如果有写线程在写数据的时候,基于fast-fail机制,会抛出ConcurrentModificationException异常,也就是说ArrayList并不是一个线程安全的容器。 当然您可以用Vector,或者使用Co...
2018-10-06 00:13:58 429
转载 java多线程(7)—深入理解读写锁ReentrantReadWriteLock
越努力越幸运!深入理解读写锁ReentrantReadWriteLock 1.读写锁的介绍 在并发场景中用于解决线程安全的问题,我们几乎会高频率的使用到独占式锁,通常使用java提供的关键字synchronized或者concurrents包中实现了Lock接口的ReentrantLock。它们都是独占式获取锁,也就是在同一时刻只有一个线程能够获取锁。 ...
2018-10-06 00:09:55 368
转载 java多线程(6)—ReentrantLock
越努力越幸运!彻底理解ReentrantLock 转载自:https://www.javazhiyin.com/6265.html1. ReentrantLock的介绍ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。 在java关键字s...
2018-10-06 00:09:38 183
转载 java多线程(5) —lock AQS
越努力越幸运!转载自:https://www.javazhiyin.com/999.html 1. concurrent包的结构层次在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。这些代码在java.util.concurrent包下。如下图,即为concurren...
2018-10-06 00:09:21 207
转载 java多线程(4)-三大性质总结:原子性、可见性以及有序性
越努力越幸运!转载自:JAVA并发八(上):三大性质总结:原子性、可见性以及有序性1. 三大性质简介在并发编程中分析线程安全的问题时往往需要切入点,那就是**两大核心**:JMM抽象内存模型以及happens-before规则(,三条性质:**原子性,有序性和可见性**。关于[synchronized]和[volatile]已经讨论过了,就想着将并发编程中这两大神器在 **原子性,...
2018-10-06 00:09:01 630
转载 jvm(3)内存模型
越努力越幸运! 转载自:https://www.javazhiyin.com/857.html1. JMM的介绍(JMM是java内存模型)线程安全是什么?当多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替运行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获取正确的结果,那这个对象是线程安全的。 ...
2018-10-05 22:10:07 193
转载 java多线程(3)—volatile
越努力越幸运! volatile一.volatile的原理1.volatile保证了它所修饰的变量在不同线程间的可见性 volatile所修饰的变量,当某个线程对其修改后,要及时将主内存中的值更新,某个线程要使用这个变量之前,都要重新从主内存中读取对应的值到工作内存中。2.volatile禁止了指令重排序 为了优化程序运行,通常可能会将可以达到同一个执行效果的...
2018-10-05 21:19:35 315
转载 java多线程(2) —sychronized
越努力越幸运! sychronized篇一. sychronized的介绍在Java中内置了语言级的同步原语--synchronizedsynchronized是通过互斥达到同步的。二. sychronized的应用synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对...
2018-10-05 21:08:22 255
转载 java集合(7) concorrenthashmap
越努力越幸运!1.ConcurrentHashmap简介在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hashtable类,该类基本上所有的方法都采用synchronized进行线程安全的控制。 可想而知,在高并发的情况下,每次只有一个线程能够获取对象监视器锁,这样的并发性能的确...
2018-10-04 22:42:30 458
原创 剑指offer —(1)
越努力越幸运!剑指offer——(1)https://blog.csdn.net/hezuo1181/article/details/82292265
2018-10-04 22:31:11 92
转载 java多线程(1)—线程基础
越努力越幸运! 线程一.什么是线程?一个进程包括多个线程,但是这些线程是共同享有进程占有的资源和地址空间的。进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位。 进程可能包括多个线程。 并发编程的优缺点优点:1.并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。2.面对复杂业务模型,并行程序会比串行程序更适应...
2018-10-04 22:05:00 450
原创 java集合(6)—hashtable
越努力越幸运! hashtableHashTable底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法:index = (hash & 0x7...
2018-10-04 21:27:45 141
转载 java集合(5)—hashmap
越努力越幸运! hashmapHashMap:它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用 Collectio...
2018-10-04 18:02:55 240
转载 数据结构(1)数组
越努力越幸运!数组 数组 概念 同一种类型数据的集合。其实数组就是一个容器。 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素。 格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 示例:int[] arr = new int[...
2018-10-04 15:51:55 139
转载 java集合(4)—Vector
越努力越幸运! Vector常见面试题1.Java中Vector和ArrayList的区别答:ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复...
2018-10-04 15:43:46 181
转载 java集合(3)—LinkedList
越努力越幸运! LinkedList LinkedList 是双向链表。链表批量增加,是靠for循环遍历原数组,依次执行插入节点操作。对比ArrayList是通过System.arraycopy完成批量增加的。增加一定会修改modCount。 通过下标获取某个node 的时候,(add select),会根据index处于前半段还是后半段 进行一个折半,以提升查询效率...
2018-10-04 15:19:58 210
转载 java集合(2)—ArrayList
越努力越幸运!ArrayList ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是支持快速访问、复制、序列化的。 一.ArrayLi...
2018-10-04 14:59:31 225
原创 java集合(1)集合总体框架
越努力越幸运! java集合一.总的集合图如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能包含重复的元素。List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。Map是Java.u...
2018-10-04 00:33:22 356
转载 jvm(3)类加载
越努力越幸运! java的类加载机制一.类加载是什么?类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。举个通俗点的例子来说,JVM在执行某段代码时,遇到了class A, 然而此时内存中并没有class A的相关信息,于是JVM就会到相应的class文件中去寻找class A的类信息,并加载进内存中,这就是我们所说的...
2018-10-03 22:38:03 161
Single-Shot Refinement Neural Network for Object Detection中文翻译.docx
2019-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人