自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Re:从零开始的DS生活 轻松从0基础写出Huffman树与红黑树
原力计划

本文详细介绍了树的概念和术语,并配合两种树的遍历算法来进行理解。文内附有800行的详细代码实现Huffman树和红黑树,供读者理解与学习,适合点赞+收藏。有什么错误希望大家直接指出~

2020-05-27 10:21:50 588 0

原创 Re:从零开始的DS生活 轻松从0基础写出链表LRU算法
原力计划

本文从ds概念说起,详细介绍了顺序表(数组)和链表的相关知识与源码解析,并配合LRU链表实战,文内有大量练习,适合点赞+收藏。有什么错误希望大家直接指出~

2020-04-26 20:57:24 960 0

原创 Spring之BeanFactory和FactoryBean的区别

BeanFacotry BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。ApplicationContext接口,它由Bea...

2019-10-10 23:17:29 51 2

原创 Spring之springbean的声明周期详解

前言:bean的生命周期:指 bean创建——初始化——销毁 的过程 下面先给出我的参考答案,具体分析请看下文详解: Spring Bean生命周期为: 1、实例化BeanFactoryPostProcessor实现类 2、执行BeanFactoryPostProcessor的postPro...

2019-10-09 22:51:57 73 1

原创 Spring之Spring常用组件

@ComponentScan @ComponentScan(扫描规则)作用:指定要扫描的包用例:一、表示扫描此目录下的包 @ComponentScan(value="com.enjoy.cap2") 二、在Cap2MainConfig2加入配置: value: 指定要扫...

2019-09-17 19:16:34 876 1

原创 并发编程 Java并发机制的底层实现原理

volatile原理 volatile是轻量级的synchronized,在多处理器开发中保证了共享变量的"可见性",volatile是一个轻量级的synchronized,在多CPU开发中保证了共享变量的“可见性”,也就是说当一个线程修改一个共享变量的时候,另一个线程能够...

2019-07-31 21:50:13 72 1

原创 设计模式之4种工厂模式总结

友情链接: 设计模式之简单/静态工厂模式设计模式之工厂方法模式设计模式之抽象工厂模式设计模式之建造者模式 ------------------------------ 工厂模式总结 工厂模式设计原则与设计目的 1、解耦, 2、工厂负责对象的创建 3、面向接口编程,程序员只管使用,直至其接口...

2019-12-10 16:37:23 111 0

原创 设计模式之建造者模式

建造者模式 /** * 创建一个水果套餐Meal类 */ public class FruitMeal { private Apple apple;//苹果--价格 private Banana banana;//香蕉价格 private Orange orange; //桔子价...

2019-11-29 14:18:28 105 0

原创 设计模式之工厂方法模式

设计模式之工厂方法模式 实体类: /** * 包装接口 */ public interface Bag { void pack(); } import com.enjoy.entity.Bag; /** * 苹果包装 * Created by Peter on 10/9 009...

2019-11-25 23:05:44 101 0

原创 设计模式之抽象工厂模式

友情链接: 设计模式之简单工厂模式/静态工厂模式设计模式之工厂方法模式设计模式之建造者模式 ---------------------------------- 设计模式之抽象工厂模式 import com.enjoy.entity.Bag; import com.enjoy.entit...

2019-11-25 22:52:49 113 0

原创 设计模式之简单工厂模式/静态工厂模式

友情链接: 设计模式之工厂方法模式设计模式之抽象工厂模式设计模式之建造者模式 ------------------------------------------------------- 不属于23种设计模式的——简单工厂模式 简单(静态)工厂模式:用一个专业类(工厂类)来负责一种产品的...

2019-11-16 23:32:02 98 0

原创 设计模式之一文讲清楚单例模式及6种写法

目录单例模式介绍 单例模式的使用场景 优点 缺点单例模式的6种写法 一、饿汉式:1、在静态变量里,直接初始化实例。 二、懒汉式:1、在静态变量里,只声明变量。2、在第一次获取实例的请求getInstance()到来时,才创建实例。 三、synchronized懒汉式:线程...

2019-11-15 17:37:44 48 0

原创 实习期code review记录

日志: 1、方法头尾添加出入参日志 2、catch异常块内部打印error级别日志 规范: 1、互斥的if判断,使用else if (可扩展,容错性好) 2、将内部catch统一移到外部和最外部catch平级(避免运行多余代码) 3、数据库中获取到的数据需要进行判空 4、改名用S...

2019-11-01 15:03:48 58 0

原创 编写高质量代码 101-105之反射

注重Class类的特殊性 Class类的三个特殊性 1.无构造函数。Java中的类一般都有构造函数,用于创建实例对象,但是Class类却没有构造函数,不能实例化,Class对象是在加载类时由Java虚拟机通过调用类加载器中的defineClass方法自动构造的。 2.可以描述基本类型。虽然8...

2019-10-31 19:33:27 48 0

原创 用静态工厂方法代替构造器

我们通常使用构造器来创建对象。除此之外,本文介绍另一种创建对象的方式——使用静态工厂方法。 静态工厂方法 静态工厂方法的优点 服务提供者框架 静态工厂方法 以Java中自带的Boolean类(基本类型boolean的包装类)为例,它的静态工厂方法为: public static B...

2019-10-24 19:44:24 64 0

原创 Java程序员不得不看的38本书

编程经验及规范(2): 《阿里巴巴Java开发手册》、《码出高效Java开发手册》、《编写高质量代码 改善Java程序的151个建议》 四大名著(4): 《Effective Java》、《Java编程思想》、《Java核心技术卷ⅠⅡ》、《Java核心技术卷Ⅱ》、《Java编程语言——Jam...

2019-10-21 14:44:40 386 2

转载 Java基础知识总结大全

一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运行环境...

2019-10-14 15:50:20 277 0

原创 哈啰出行现场面

哈啰出行技术面 自我介绍 项目难点,怎么解决的 频繁缓存穿透怎么解决 缓存数据类型 缓存同步机制 类加载机制 类的生命周期 JVM组成 分析操作数栈和局部变量表 堆,方法区1.7和1.8的区别 pc寄存器存储什么 你觉得你有什么优点,缺点 最近学什么 hr面 自我介绍 学校经历 说一个在学校或者实...

2019-10-08 11:48:12 203 3

原创 去哪网一面

自我介绍 项目介绍 mq幂等性 dubbo发布,不停机发布 热部署和灰度发布 索引 gc算法 垃圾回收器 频繁gc的原因 设计login方法(可能需考虑第三方登录,单点登录,权限控制) 算法:已知中后求先序 算法:两个链表,非环判断是否有交点 算法:判断一个字符串是否符合一定规则 ...

2019-09-29 11:07:28 54 4

原创 小米一面-后台开发-牛客面试间-60mian

小米一面-后台开发-牛客面试间-60mian 面试官:自我介绍 我:我叫…,在…实习,疯狂的磕巴,所有准备都不记得, 面试官:聊会天 我:嗯嗯嗯 (大约一分钟) 进入正题 1、实习阶段完成的项目 2、幂等性控制机制 3、ActiveMQ和RabbitMQ什么区别,RabbitMQ...

2019-09-19 16:19:37 415 2

原创 Mysql索引灵魂拷问

1、你能说说什么是索引吗? 索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。 2、索引具体采用的哪种数据结构呢? (不同索引数据结构不同) 3、B数和B+树的区别...

2019-09-05 13:46:21 226 2

原创 Unix下IO模型及他们之间的区别

目录 一:Unix下5种IO模型 二:他们之间的区别 一:Unix下5种IO模型 阻塞式IO 非阻塞式IO IO多路复用(select和poll) 信号驱动式IO(SIGIO) 异步IO 对于一个套接字上的输入操作,两个阶段: 1)等待数据从网络中到达,被复制到内核中的某个缓冲区; 2...

2019-08-31 17:19:27 49 0

原创 阿里一面集合_阿里天猫一面+阿里饿了么一面+阿里妈妈一面

天猫 1、自我介绍(重点说项目和遇到的问题,解决问题的过程) 2、说一下红黑树 3、数组和链表的区别 4、tcp如何建立连接 5、cookie和session的区别 饿了么 1、自我介绍 2、用过什么分布式框架? 3、redis怎么保证数据一致性? 4、了解乐观锁和悲观锁吗...

2019-08-27 10:39:24 239 3

原创 滴滴一面-Java后端

滴滴一面凉经(视频50分钟) 做下自我介绍 你都做过什么,移动端开发有了解吗?后端,和微信开发,h5,安卓ios,泛前端都有了解吗?你以后的方向是什么? 1、启动两个线程A、B,如何让两个线程像ABABAB这样循环执行?(我围绕join说了下,面试官提醒循环会导致死锁,改口CyclicBar...

2019-08-23 17:36:45 226 3

原创 Java中-> 是什么意思

在《JAVA核心编程》中,有一段这样的代码,可以看到两处这样的代码 EventQueue.invokeLater(() -> { JFrame frame = new ImageViewerFrame(); frame.setTitle(&...

2019-06-21 11:21:09 4124 1

原创 LeetCode力扣13.罗马数字转整数

题目描述: 罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两...

2019-06-12 11:41:09 105 0

原创 LeetCode力扣15.三数之和

题目描述: 给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要...

2019-06-12 11:04:35 118 0

原创 Servlet生命周期与Web容器架构及处理请求详解

一、Servlet对象 Servlet对象运行在Servlet容器中,Servlet的生命周期由容器管理(Servlet容器的基本思想是在服务器端使用Java来动态生成网页)。 (一)Servlet对象生命周期(Servlet一生都做了什么事)1.加载和实例化 2.初始化 3.处理请求 4.终...

2019-06-10 10:31:20 252 1

原创 LeetCode力扣9.判断回文数

题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回...

2019-06-04 18:30:06 118 1

原创 LeetCode力扣7.整数反转

题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: -123 输出: -321 示例 2: 输入: 120 输出: 21 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请...

2019-06-04 15:53:35 76 0

原创 LeetCode力扣1. 两数之和

题目描述: 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9...

2019-05-30 13:00:51 89 0

原创 创建一个github库上传本地项目

一、在github创建本地库 二、打开idea,先个体idea配置git.exe的路径(很简单略),如图所示,点击Create Git Repository...弹出对话框,选择项目路径后,就会给该项目添加上Git相关的组件 添加后如图所示: 三、如图所示选择Remotes,出现...

2019-05-16 21:45:43 116 0

原创 京东一面+京东物流二面+京东秋招一面

京东一面(25分钟) 讲一下你实习经历, 在实习期间都多了什么技术方面的,遇到了什么难题 1、你了解序列化吗? 2、HashMap和TreeMap的区别 3、如何支持多线程访问?(ConcurrentHashMap) 4、你对注解的理解?(@bean、@Autowired) 5、SpringMV...

2019-04-19 22:36:33 400 3

原创 为什么重写equals要重写hashcode?

为什么重写equals要重写hashcode? 答:Note that it is generally necessary to override the {@code hashCode} method whenever this method is overridden, so as to m...

2019-04-15 21:38:46 189 0

原创 使用Cookie防刷新页面计数功能(纯源码+注解)

(1)功能描述(登录、复选框购书、退出) (2)记录是第几位选书者(防止刷新的计数器,并且相同用户名下次登录进入选书页面,不进行累加,并显示上次登录的时间) 每行代码基本都有注释: login.jsp <%@ page language="java" conten...

2019-04-01 19:49:41 390 0

原创 数据结构-数据结构与算法分析学习计划

《数据结构与算法分析(Java语言描述)》学习规划 一、学习内容 1,12个数据结构: 数组,链表,栈,队列,二叉树,AVL树,B树,散列表,优先队列(堆),图论,红黑树,斐波那契堆 3,10个算法: 递归,(插入、希尔、堆、归并、快速、)排序,二分查找,(最短路径、深度优先)搜...

2019-04-01 08:22:29 313 0

原创 数据库三大范式讲解+笔试面试题、工作中数据库业务设计

本文讲解数据库三大范式、业务设计、逻辑设计、范式设计、反范式设计 数据库设计的第一大范式 数据库表中的所有字段都只具有单一属性,单一属性的列是由基本数据类型所构成的,设计出来的表都是简单的二维表: name-age列具有两个属性,一个name,一个 age不符合第一范式,把它拆分成两...

2019-03-28 22:01:19 7981 5

原创 Mysql事务、MySQl事务隔离级别、MySQL事务语法

Mysql事务 事务的简介 为什么需要事务 现在的很多软件都是多用户,多程序,多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。 A 给B 要划钱,A 的账户-1000元, B 的账户就要+1000元,这两个update 语句必须作为一个整体来执行,不然...

2019-03-27 21:49:04 196 0

原创 MySQL中的读锁和写锁(InnoDb行锁、表锁、  MyISAM共享读锁 、MyISAM独占写锁)

MySql锁 (数据库都是悲观锁,java、redis、zookeeper会有乐观锁) 锁的概念 MySQL中的锁 MyISAM锁 MyISAM共享读锁 MyISAM独占写锁 MyISAM锁调度 InnoDb InnoDb行锁 InnoDb表锁 锁的概念 锁...

2019-03-26 21:51:23 1035 0

原创 并发 JVM-JMM和底层实现原理

目录 并发编程领域的关键问题... 1 现代计算机物理上的内存模型... 2 Java内存模型(JMM)... 2 JVM对Java内存模型的实现... 3 Java内存模型带来的问题... 3 可见性问题... 3 重排序... 4 Java内存模型中的重排序... 4 重排序...

2019-03-25 22:44:43 87 0

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