![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
小旭lpx
这个作者很懒,什么都没留下…
展开
-
Volatile详解
Java中Volatile关键字详解阅读目录一、基本概念二、Volatile原理一、基本概念先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的转载 2018-01-23 20:37:10 · 113 阅读 · 0 评论 -
Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
点击打开链接转载 2018-03-02 22:02:57 · 149 阅读 · 0 评论 -
Java多线程常见面试题
1.什么是线程线程是操作系统能够进行运算调度的最小单位,它被包含在进程中,是进程中的实际运行单位。2.线程与进程的区别线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有线程共享一片相同的内存空间,每个线程都拥有单独的栈内存来存储本地数据。3.Callable接口Callable 和 Runnable的使用方法大同小异,区别在于: 1:Ca...原创 2018-02-05 16:38:06 · 135 阅读 · 0 评论 -
面向过程与面向对象的本质区别思考
前言 不久前有人在面试的时候被问及面向对象和面向过程的本质区别是什么?对于这个问题小生 也没有做过多的思考,今天在此做一个总结,探求一些面向对象和面向过程本质的区别在哪里。 简单对比 面向过程就像是一个细心的管家,事无具细的都要考虑到。而面向对象就像是个家用电器, 你...转载 2018-03-17 09:56:02 · 141 阅读 · 0 评论 -
Spring AOP详解
http://blog.csdn.net/justloveyou_/article/details/74295728一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Asp...转载 2018-03-17 10:19:12 · 126 阅读 · 0 评论 -
HTTP必知必会——常见面试题总结
1、常用的HTTP方法有哪些?GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。DELETE:删除文件,与PUT方法...转载 2018-02-24 18:30:41 · 133 阅读 · 0 评论 -
Java的三种代理模式
.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的经纪人,...转载 2018-03-18 09:51:23 · 123 阅读 · 0 评论 -
Redis 学习笔记
1.数据持久化:快照持久化,AOF持久化快照持久回:通过创建快照来获得在内存里面得数据在某个时间点上得副本。创建快照得方法:客户端向redis发送bgsave命令,会调用fork来创建一个子进程,然后子进程将快照写入硬盘。缺点:创建子进程会出现停顿,还有可能出现数据丢失。AOF持久化:将执行得命令写到AOF文件得末尾,以此来记录数据发生得变化。因此只要Redis从头到尾执行一次AOF文件包含得所有...原创 2018-03-05 18:42:50 · 113 阅读 · 0 评论 -
MyISAM与InnoDB的区别是什么?
点击打开链接线程池MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM...转载 2018-03-19 16:11:49 · 172 阅读 · 0 评论 -
反转链表n到m
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solu...原创 2018-04-12 10:00:50 · 260 阅读 · 0 评论 -
AOP三种代理模式
点击打开链接转载 2018-04-24 19:37:10 · 487 阅读 · 0 评论 -
HTTPS得通信过程
HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下:1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一组加密算法与HASH算法,并将自己的身...转载 2018-04-25 10:33:54 · 1576 阅读 · 0 评论 -
什么是死锁及死锁的必要条件和解决方法
来自:http://blog.163.com/yanenshun@126/blog/static/128388169200982444858590/?fromdm&fromSearch&isFromSearchEngine=yes 进程死锁及解决办法操作系统 2009-09-24 16:48:58 阅读767 评论1 字号:大中小 订阅 一、要点提示(1) 掌握死锁的概念和产生...原创 2018-04-25 11:13:50 · 450 阅读 · 0 评论 -
Mysql学习知识总结
1.不能使用索引得情况(1)如果不是按照索引得最左列开始查找,则无法使用索引。 (2) 不能跳过索引中得列(3)如果查询中有某个列得范围查询,则其右边所有列都无法使用索引优化查找。2.索引得优点(1)索引大大减少了服务器检索数据得行数 (2)索引可以帮服务器避免排序和临时表 (3)索引可以将随机IO变为顺序IO...原创 2018-04-25 22:31:29 · 358 阅读 · 0 评论 -
各大公司Java后端开发面试题总结
https://www.cnblogs.com/java1024/p/7685400.htmlThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量。采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Ma...转载 2018-04-27 13:31:27 · 271 阅读 · 0 评论 -
2pc 与3pc
1.2pc优缺点:优点:原理简单,实现方便缺点:同步阻塞、单点问题、脑裂、太过保守同步阻塞:所有参与该事物操作得逻辑都处于阻塞状态单点问题:协调者有单点问题数据不一致:在协调则向所有参与者发送Commit请求后,发生故障,只有部分参与者收到Commit请求,没有收到得则不能提交,存在数据不一致情况。太过保守:没有设计较为完善得容错机制,任意一个节点得失败都会导致整个事物得失败。3.pc分为三个阶段...原创 2018-05-20 15:08:30 · 657 阅读 · 0 评论 -
Vector和ArrayList比较
相同之处1 它们都是List它们都继承于AbstractList,并且实现List接口。ArrayList和Vector的类定义如下:// ArrayList的定义public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneab...原创 2018-03-02 20:53:55 · 414 阅读 · 0 评论 -
HashMap与CurrentHashMap区别
好像今天没有什么源码读,那么就来看看java的这两种HashMap有啥不一样的地方吧,在这之前先普及一下HashMap的一些基本知识:(1)放入HashMap的元素是key-value对。(2)底层说白了就是以前数据结构课程讲过的散列结构。(3)要将元素放入到hashmap中,那么key的类型必须要实现实现hashcode方法,默认这个方法是根据对象的地址来计算的,具体我也记不太清楚了,接着还必须...转载 2018-02-01 21:47:30 · 23336 阅读 · 3 评论 -
Java 多线程
1:静态条件基于一种可能失效的观察结果做出判断或执行某个计算2:原子性原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。再比如:a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成原创 2018-01-20 09:32:39 · 122 阅读 · 0 评论 -
java 内部类详解
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指转载 2018-01-24 15:58:15 · 112 阅读 · 0 评论 -
java 动态代理
关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 一、代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托转载 2018-01-24 16:50:11 · 158 阅读 · 0 评论 -
HashMap并发中的问题
目录并发问题的症状HashMap数据结构HashMap的rehash源代码正常的ReHash过程并发的Rehash过程三种解决方案转载: HashMap多线程并发问题分析并发问题的症状多线程put后可能导致get死循环从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来转载 2018-02-01 22:08:42 · 306 阅读 · 0 评论 -
ArrayList详解
ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。 ArrayList不是同步的(也就是说不是线程安全的),如果多个线程同时访问一个ArrayList实例,而其中至少一个线程从结构上修改了列表,那么它必须保持外部同步,在转载 2018-02-05 16:38:48 · 116 阅读 · 0 评论 -
LinkedList详解
有一个更加详细的讲解: http://www.cnblogs.com/skywang12345/p/3308807.html先对LinkedList的特性进行一个概述: (1)LinkedList底层实现为双向循环链表。链表的特点就是插入删除数据快,而查询数据慢。(2)因为使用链表的原因,所以不存在容量不足的问题,没有扩容机制。(3)从后面的源码分析中我们也可以看出,L转载 2018-02-05 16:49:57 · 394 阅读 · 0 评论 -
HashMap源码详解
http://www.cnblogs.com/skywang12345/p/3310835.html转载 2018-02-05 19:17:48 · 112 阅读 · 0 评论 -
阿里一面总结
1.自我介绍2.项目问题,主要关于线程管理问题3.volate关键字、HashMap 与CurrentHashMap区别、HashMap与HashTable区别HashMap与HashTable区别:点击打开链接HashMap 与CurrentHashMap区别CurrentHashMap,HashMap三者之间的对比:点击打开链接可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见...原创 2018-02-24 18:29:59 · 355 阅读 · 0 评论 -
Java多线程讲的不错的一个博客
点击打开链接转载 2018-02-27 16:48:43 · 189 阅读 · 0 评论 -
删除链表中重复的结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路需要两个指针,一个指向前一个节点preNode,另一个指向当前节点node,如果遇到相等的节点,node向后移动,preNode不动,存下node.val方便后面的比较...转载 2018-02-28 09:23:12 · 90 阅读 · 0 评论 -
二叉搜索树的后序遍历序列输入一个整数数组,判断该数组是不是二叉搜索树的后序遍历序列
public static boolean verifySequenceOfBST(int[] seq){ if(seq==null || seq.length==0) return false; return verifySequenceOfBST(seq,0,seq.length-1); } private static boolean verifySequenceOfBST...转载 2018-02-28 11:54:02 · 318 阅读 · 0 评论 -
Java面经(后台开发)校招准备资料汇总
写在最前面:今天在北邮人论坛上发现的一个非常好的经验帖,因为现在北邮人没有账号无法查看,所以转载过来分享给准备校招的同学:大牛校招准备经验戳这里一、刷题1.《剑指offer》---牛客 《剑指offer》面试题答案汇总(Java版)2.leetcode(个人觉得也是刷牛客上的这部分就够了)二、面经1.16年校招秋招笔试面试经验汇总(来自牛客)2.还有一个很全的:Java研发方向如何准备BAT技...转载 2018-03-14 22:35:06 · 548 阅读 · 0 评论 -
Java实现二叉树后序非递归遍历
//不明白的大家可以一起讨论!欢迎留言! /** * public class Node { public int data; //树结点标号 public Node lchild; //左子树 public Node rchild; //右子树 } 后序遍历递归定义:先左子树,后右子树,再根节点。 ...转载 2018-03-02 09:28:09 · 332 阅读 · 0 评论 -
八大排序算法
转载请注明:http://blog.csdn.net/yuxin6866/article/details/52771739八大常用排序算法详细分析 包括复杂度,原理和实现如下:1. 冒泡排序1.1 算法原理:S1:从待排序序列的起始位置开始,从前往后依次比较各个位置和其后一位置的大小并执行S2。 S2:如果当前位置的值大于其后一位置的值,就把他俩的值交换(完成一次全序列比较后,序列最后位置的值即此...转载 2018-03-02 11:08:07 · 165 阅读 · 0 评论 -
Zookeeper 启动时Error contacting service. It is probably not running.
Zookeeper集群搭建的时遇到Connection refused2017年06月06日 10:36:18阅读数:1762相信你也是觉得任何配置都没问题了,但为什么还是被拒绝!防火墙没开端口? 开了的,很确定。本人使用的是CentOS 7.2,ZooKeeper 3.4.10,三机器集群在确保任何配置都符合官方文档说明的那样。三台机器分别启动,可以查看最后被启动的日志zookeeper.out...转载 2018-05-21 20:10:01 · 1225 阅读 · 1 评论