- 博客(33)
- 收藏
- 关注
转载 整数中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
794
原创 动态规划:连续子数组的最大和
题目(来源)给一个数组,返回它的最大连续子序列的和及其开始下标和结束下标。例如:{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
646
原创 动态规划:国王与金矿
题目有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同。参与挖矿工人的总数是10人。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要求用程序求解出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿?递归实现动态规划/*** @param n 金矿数量* @param w 工人数量* @param p 第n个金矿需要工人数量* @pa...
2018-08-29 21:46:51
1369
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
229
原创 阿里服务器部署
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
280
原创 JVM内存分布
《深入理解Java虚拟机》第2章笔记图为Java虚拟机内存划分情况。程序计数器当前线程所执行的字节码的行号指示器,通俗来说就是用于指示线程执行到程序的哪一步。在Java中,由于多个线程是轮流占用处理器,为了线程切换后能够恢复到正确的执行位置,每个线程都有一个独立的程序计数器用于保存各线程程序执行位置。所以该数据区是线程私有的。值得注意的是,该区域是唯一一个不会抛出OOM异常的区...
2018-08-12 23:25:03
604
原创 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
724
原创 Java 7 ConcurrentHashMap源码解析
记录阅读Java 7 ConcurrentHashMap源码的过程,阅读前建议先了解ConcurrentHashMap与HashMap异同,以及对ConcurrentHashMap大致结构有个印象。另外还需要了解Unsafe类,部分关键成员变量static final int DEFAULT_INITIAL_CAPACITY = 16; 默认初始化容量,这里说的容量是指总容量,即每...
2018-08-12 10:51:13
225
原创 简单分析Class类文件
阅读《深入理解Java虚拟机》第六章后,记录下使用WinHex工具分析二进制文件的过程。源码沿用书中的例子:public class Hex { private int m; public int inc(){ return m+1; }}使用WinHex打开编译后的.class文件: 首先需要知道的是:Class文件中只有两种数...
2018-08-11 23:26:43
521
原创 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
370
原创 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
1961
原创 UUID压缩
关于UUID概念,截取百度百科简单说明一下(已经理解概念的直接跳转): UUID(Universally Unique Identifier)通用唯一识别码,目的是让分布式系统中的所有元素,都能有唯一的辨识信息,可作为数据库id等。由三部分组成: (1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。...
2018-07-27 09:24:25
1381
原创 大数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
653
原创 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
3010
原创 [编程题]重构二叉树
题目(来源)输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{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
364
原创 理解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
910
原创 广州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
1161
原创 java单例模式几种实现方法
java单例模式中,留意几个关键点:构造方法私有化,单例对象变量需要static修饰,借助公有方法获取单例对象。另外也需要考虑线程是否安全,是否为延迟加载。饿汉模式public class Hungry{ private final static Hungry instance=new Hungry(); private Hungry(){} public ...
2018-05-20 17:04:48
234
原创 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
1268
1
原创 通过反射获取私有内部类对象
首先是我们的目标对象:class Out { //目标获取Inner对象 private class Inner { //内部类的私有成员属性 private String inner = "ccc"; }}直接列出代码:public class Main { @SuppressWarnings({ "rawtype...
2018-05-10 19:05:24
8566
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
14549
原创 基本排序算法
冒泡排序基本思想:两两相邻进行比较,将最大的放到后面,每轮比较都会使需要比较的元素数目减一,总共需要比较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
215
原创 Volatile,Synchronized,Lock
本文主要记载Volatile,Synchronize,Lock特性与适用场景VolatileVolatile是一种相比Synchronized更轻量级的同步机制,它能够保证并发处理的可见性,但它并不能够保证原子性,这意味着Volatile并不是线程安全的。可为可见性?如果某个线程改变了声明为Volatile的变量的值,那么所有其他线程中的值都应该更新,也就是所有线程对该Volati...
2018-05-02 20:51:23
243
原创 理解HashMap的几个关键点
什么是HashMap?HashMap是一个散列表,存储的内容为键值对的映射(key-value),由于key存放在Set集合中,意味着key值不允许重复,但是key和value都允许为null。HashMap继承AbstractMap抽象类,实现了Map、Cloneable、Serializable接口,允许克隆和序列化。另外,HashMap是非线性安全的,键值对的映射也不是有序的。Has...
2018-04-29 12:36:20
364
原创 事务隔离级别--脏读,不可重复读,幻读
记录事务的隔离级别以及对于脏读,不可重复读和幻读的理解。各事务级别能够解决的问题(√:可能出现 ×:不会出现) 隔离级别 脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed × √ √ Repeatable read × × √ Serializab...
2018-04-28 16:07:37
227
原创 HTTP协议
什么是HTTP?在OSI七层模型中(应用层、表示层、会话层、网络层、数据链路层、物理层),而HTTP协议是属于应用层(关于OSI七层模型可以参考知乎上的一篇文章),所谓的HTTP协议主要就是用于描述浏览器如何向服务器发送请求,服务器又是怎样响应浏览器的请求。HTTP是基于TCP/IP协议的,而我们知道TCP是面向连接的,可靠的通信协议,所以,当我们每次向服务器提出请求时,首先得建立连接,保...
2018-04-25 21:48:26
1071
原创 ThreadLocal源码分析
本文主要记载本人学习ThreadLocal时对源码的理解,如有不妥或错误,恳请各位指出。ThreadLocal有哪些主要方法? 方法名 返回值 描述 get() T 返回此线程局部变量的当前线程副本中的值 initialValue() T 返回此线程局部变量的当前线程的“初始值” remove() void 移除此线程局...
2018-04-15 13:29:44
211
转载 Spring事务传播
最近学习spring事务,对于事务传播的七种传播行为不太理解,查阅资料过程中,看到一篇较为浅显易懂的文章,特记录于此作为保存和分享。源文章:http://blog.sina.com.cn/s/blog_4b5bc0110100z7jr.html事务的传播行为Spring中事务的定义: 一、Propagation : key属性确定代理应该给哪个方法增加事务行为。这样的属...
2018-03-14 16:05:31
212
原创 2.5 协调作用域不同步的Bean
在Spring容器中,最常见的为singleton与prototype作用域的Bean,当我们多次获取singleton作用域的Bean时,得到的都是同一个实例,而prototype作用域里则每次都产生一个新的Bean实例。我们知道,Spring容器在初始化某个Bean前,先会创建被依赖的Bean,然后再对该Bean进行初始化,如果此时为singleton作用域的Bean依赖prototype作用域
2017-08-31 17:36:21
312
原创 2.4 通过ApplicationContext接口获取Spring容器
Spring容器最基本的的接口是BeanFactory,负责配置、创建、管理Bean,称为Spring上下文。它有一个比较重要的子接口:ApplicationContext,大部分时候,我们都采用ApplicationContext实例作为Spring容器。
2017-07-31 19:43:51
605
原创 2.3 Spring的核心机制:依赖注入
依赖注入(Dependdency Injection)又称控制反转(Inversion of Control,IoC)。传统模式下,当一个Java对象需要调用其他对象时,要么通过关键字new创建一个新对象;要么运用工厂模式,先创建被依赖对象的工厂对象,再通过工厂对象获取被依赖对象;两种方式均为调用者主动获取被依赖对象,这必然会带来调用者与被依赖对象或被依赖对象的工厂对象耦合(依赖程度),不利于升级
2017-07-31 19:12:40
496
1
原创 关于Spring中工厂Bean
beans.xml设置 工厂Bean类:TestFactoryBean(注意工厂Bean类必须继承FactoryBean接口并实现getObject()、getObjectType()、isSingleton()方法) private String targetClass;//目标类名 private String targ
2017-07-22 16:54:29
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人