自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis要点记录

rtret

2021-08-14 17:33:21 156

转载 整数中X出现的次数

题目求出任意非负整数区间[0,n]中X出现的次数(X等于0~9)。例如:0~13中包含1的数字有1、10、11、12、13因此共出现6次。截取自牛客网中网友回答 https://www.nowcoder.com/questionTerminal/bd7f978302044eee894445e244c7eee6@nailperry参考博文:http://www.cnblogs....

2018-08-30 11:39:54 706

原创 动态规划:连续子数组的最大和

题目(来源)给一个数组,返回它的最大连续子序列的和及其开始下标和结束下标。例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8,从第0个开始,到第3个为止。动态规划public void FindGreatestSumOfSubArray(int[] array) { int preValue=0; int max=Integer.MIN_V...

2018-08-29 23:41:02 569

原创 动态规划:国王与金矿

题目有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同。参与挖矿工人的总数是10人。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要求用程序求解出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿?递归实现动态规划/*** @param n 金矿数量* @param w 工人数量* @param p 第n个金矿需要工人数量* @pa...

2018-08-29 21:46:51 1274 1

原创 ArrayList源码分析

部分成员变量private static final int DEFAULT_CAPACITY = 10; 默认数组大小private static final Object[] EMPTY_ELEMENTDATA = {}; 一个空的数组private transient Object[] elementData; ArrayList实际上存储元素的数组private int ...

2018-08-21 11:16:13 186

原创 阿里服务器部署

1、选定服务器系统,购买轻量级服务器、域名,并进行域名实名认证,解析 2、为管理员账户root设置密码,通过putty或其他软件远程登录 3、进入/usr/local/bin目录,创建tools文件夹cd /usr/local/binmkdir toolscd tools/4、下载JDK 1.8(其他版本都ok),注意是gz后缀,代表linux下的压缩文件 5、使用fil...

2018-08-19 23:41:33 226

原创 JVM内存分布

《深入理解Java虚拟机》第2章笔记图为Java虚拟机内存划分情况。程序计数器当前线程所执行的字节码的行号指示器,通俗来说就是用于指示线程执行到程序的哪一步。在Java中,由于多个线程是轮流占用处理器,为了线程切换后能够恢复到正确的执行位置,每个线程都有一个独立的程序计数器用于保存各线程程序执行位置。所以该数据区是线程私有的。值得注意的是,该区域是唯一一个不会抛出OOM异常的区...

2018-08-12 23:25:03 538

原创 CentOS 7 常用命令

基于CentOS 7最小化安装,环境为Win10 VirtualBox查看网络接口卡信息:ifconfig 或 ip addr和ip link可能会出现 ifconfig command not found,因为该命令已经过时,默认情况下CentOS 7不存在包含该命令的包。解决:查找哪个包包含该命令:yum provides ifconfig 安装net-tools包:...

2018-08-12 11:35:44 595

原创 Java 7 ConcurrentHashMap源码解析

记录阅读Java 7 ConcurrentHashMap源码的过程,阅读前建议先了解ConcurrentHashMap与HashMap异同,以及对ConcurrentHashMap大致结构有个印象。另外还需要了解Unsafe类,部分关键成员变量static final int DEFAULT_INITIAL_CAPACITY = 16; 默认初始化容量,这里说的容量是指总容量,即每...

2018-08-12 10:51:13 181

原创 简单分析Class类文件

阅读《深入理解Java虚拟机》第六章后,记录下使用WinHex工具分析二进制文件的过程。源码沿用书中的例子:public class Hex { private int m; public int inc(){ return m+1; }}使用WinHex打开编译后的.class文件: 首先需要知道的是:Class文件中只有两种数...

2018-08-11 23:26:43 445

原创 Java 7 HashMap源码解析

记录阅读Java 7 HashMap源码过程,Java 7 与 Java 8 两个版本的源码区别比较大,主要是Java 8 中引入了红黑树存储。本篇只对get()方法和put()方法进行解析。分析两个方法前,先认识HashMap几个关键的成员变量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; 默认的初始化容量,1&...

2018-08-08 11:05:53 321

原创 AES加解密例子

基于javax.crypto包的AES加解密工具类:AES加密/** * @param cleartext 待加密明文 * @param keyLength 密钥长度:128、192、256(密钥长度与安全性成正比,与性能成反比) * @param workingPattern 工作模式 * @param fillStyle 填充模式 * @return java.lang....

2018-08-02 16:39:11 1904

原创 UUID压缩

关于UUID概念,截取百度百科简单说明一下(已经理解概念的直接跳转): UUID(Universally Unique Identifier)通用唯一识别码,目的是让分布式系统中的所有元素,都能有唯一的辨识信息,可作为数据库id等。由三部分组成: (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。...

2018-07-27 09:24:25 1234

原创 大数A+B

给出2个大整数A,B,计算A+B的结果。Input第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数)Output输出A + BInput示例68932147586468711654886Output示例537643802472解法1public class Main { ...

2018-07-22 22:56:13 568

原创 VirtualBox配置 NAT+Host Only网络

发行版:Cent-OS7 x64 实现目的:配置NAT令虚拟机访问外网;配置Host Only网络,使得本机可以访问虚拟机。配置NAT添加NAT网络: 配置虚拟机网卡: 启动虚拟机,输入 ls /etc/sysconfig/network-scripts/ 命令: ifcfg-enp0s3是我们NAT网卡的配置文件,不同的系统版本可能文件名称不一样,文件名称也可...

2018-07-09 11:51:48 2910

原创 [编程题]重构二叉树

题目(来源)输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。要求时间限制:1秒 空间限制:32768K代码/** * @param pre 前序数组 * @param preStart ...

2018-06-17 18:41:32 306

原创 理解String类的intern()方法

测试环境:eclipse+JDK 1.8测试例子:public static void main(String[] args){ String s1=new String("a")+new String("b"); //1 System.out.println(s1.intern()==s1); //2 String s2=new String("a")+new ..

2018-06-01 20:15:48 861

原创 广州YY面经

时间:2018/5/18 15:00 地点:广州番禺万达广场B-1座23楼 职位:Java攻城狮实习生 结果:怀疑人生 反省:基础基础基础不扎实!!!面经(渣渣没有二面): 1、说说jdk虚拟机 2、年轻代和老年代 3、你知道哪些回收算法 4、static修饰的变量放哪 5、你了解哪些集合 6、说说ConcurrentHashMap与HashTable的区别 7、TC...

2018-05-20 17:14:15 1106

原创 java单例模式几种实现方法

java单例模式中,留意几个关键点:构造方法私有化,单例对象变量需要static修饰,借助公有方法获取单例对象。另外也需要考虑线程是否安全,是否为延迟加载。饿汉模式public class Hungry{ private final static Hungry instance=new Hungry(); private Hungry(){} public ...

2018-05-20 17:04:48 193

原创 Java死锁例子

产生死锁的四个条件:占有等待、互斥、循环等待、非剥夺。Java死锁栗子:public class Main { //两把钥匙 static Object key1 = new Object(); static Object key2 = new Object(); public static void method1() { System....

2018-05-17 11:33:23 1172 1

原创 通过反射获取私有内部类对象

首先是我们的目标对象:class Out { //目标获取Inner对象 private class Inner { //内部类的私有成员属性 private String inner = "ccc"; }}直接列出代码:public class Main { @SuppressWarnings({ "rawtype...

2018-05-10 19:05:24 8252 2

原创 MySQL中拼接SQL语句

业务情景:根据年龄、性别、地区(省、市)至少一个条件查询用户。创建用户表:drop database if exists user;create database user;use user;drop table if exists user_info;create table user_info( user_name varchar(16) not null, ...

2018-05-09 22:01:33 14401 1

原创 基本排序算法

冒泡排序基本思想:两两相邻进行比较,将最大的放到后面,每轮比较都会使需要比较的元素数目减一,总共需要比较length-1轮。由于嵌套for循环,时间复杂度最优和平均都是o(n^2),空间复杂度o(1)。冒泡排序是稳定的。public class Main { public static void bubblingSort(int[] list) { int i, ...

2018-05-09 20:49:07 183

原创 Volatile,Synchronized,Lock

本文主要记载Volatile,Synchronize,Lock特性与适用场景VolatileVolatile是一种相比Synchronized更轻量级的同步机制,它能够保证并发处理的可见性,但它并不能够保证原子性,这意味着Volatile并不是线程安全的。可为可见性?如果某个线程改变了声明为Volatile的变量的值,那么所有其他线程中的值都应该更新,也就是所有线程对该Volati...

2018-05-02 20:51:23 205

原创 理解HashMap的几个关键点

什么是HashMap?HashMap是一个散列表,存储的内容为键值对的映射(key-value),由于key存放在Set集合中,意味着key值不允许重复,但是key和value都允许为null。HashMap继承AbstractMap抽象类,实现了Map、Cloneable、Serializable接口,允许克隆和序列化。另外,HashMap是非线性安全的,键值对的映射也不是有序的。Has...

2018-04-29 12:36:20 318

原创 事务隔离级别--脏读,不可重复读,幻读

记录事务的隔离级别以及对于脏读,不可重复读和幻读的理解。各事务级别能够解决的问题(√:可能出现 ×:不会出现) 隔离级别 脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed × √ √ Repeatable read × × √ Serializab...

2018-04-28 16:07:37 189

原创 HTTP协议

什么是HTTP?在OSI七层模型中(应用层、表示层、会话层、网络层、数据链路层、物理层),而HTTP协议是属于应用层(关于OSI七层模型可以参考知乎上的一篇文章),所谓的HTTP协议主要就是用于描述浏览器如何向服务器发送请求,服务器又是怎样响应浏览器的请求。HTTP是基于TCP/IP协议的,而我们知道TCP是面向连接的,可靠的通信协议,所以,当我们每次向服务器提出请求时,首先得建立连接,保...

2018-04-25 21:48:26 906

原创 ThreadLocal源码分析

本文主要记载本人学习ThreadLocal时对源码的理解,如有不妥或错误,恳请各位指出。ThreadLocal有哪些主要方法? 方法名 返回值 描述 get() T 返回此线程局部变量的当前线程副本中的值 initialValue() T 返回此线程局部变量的当前线程的“初始值” remove() void 移除此线程局...

2018-04-15 13:29:44 157

转载 Spring事务传播

最近学习spring事务,对于事务传播的七种传播行为不太理解,查阅资料过程中,看到一篇较为浅显易懂的文章,特记录于此作为保存和分享。源文章:http://blog.sina.com.cn/s/blog_4b5bc0110100z7jr.html事务的传播行为Spring中事务的定义: 一、Propagation :   key属性确定代理应该给哪个方法增加事务行为。这样的属...

2018-03-14 16:05:31 169

原创 2.5 协调作用域不同步的Bean

在Spring容器中,最常见的为singleton与prototype作用域的Bean,当我们多次获取singleton作用域的Bean时,得到的都是同一个实例,而prototype作用域里则每次都产生一个新的Bean实例。我们知道,Spring容器在初始化某个Bean前,先会创建被依赖的Bean,然后再对该Bean进行初始化,如果此时为singleton作用域的Bean依赖prototype作用域

2017-08-31 17:36:21 254

原创 2.4 通过ApplicationContext接口获取Spring容器

Spring容器最基本的的接口是BeanFactory,负责配置、创建、管理Bean,称为Spring上下文。它有一个比较重要的子接口:ApplicationContext,大部分时候,我们都采用ApplicationContext实例作为Spring容器。

2017-07-31 19:43:51 562

原创 2.3 Spring的核心机制:依赖注入

依赖注入(Dependdency Injection)又称控制反转(Inversion of Control,IoC)。传统模式下,当一个Java对象需要调用其他对象时,要么通过关键字new创建一个新对象;要么运用工厂模式,先创建被依赖对象的工厂对象,再通过工厂对象获取被依赖对象;两种方式均为调用者主动获取被依赖对象,这必然会带来调用者与被依赖对象或被依赖对象的工厂对象耦合(依赖程度),不利于升级

2017-07-31 19:12:40 417 1

原创 关于Spring中工厂Bean

beans.xml设置 工厂Bean类:TestFactoryBean(注意工厂Bean类必须继承FactoryBean接口并实现getObject()、getObjectType()、isSingleton()方法) private String targetClass;//目标类名 private String targ

2017-07-22 16:54:29 405

空空如也

空空如也

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

TA关注的人

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