- 浏览: 41331 次
- 性别:
- 来自: 成都
文章列表
1. ThreadLocal有什么缺陷?如果是线程池里的线程用ThreadLocal会有什么问题?
2. 类的加载机制,为什么要用双亲委托?如何打破双亲委托加载机制
3. 如果有一个100万的qps项目,你会从哪些方面考虑系统的设计?
4. 你平时经常用到的设计模式有哪些?
5. 熟悉Reactive开发模式吗?
6. 你熟悉的分布式技术有哪些?了解他们底层的实现机制吗?
7. Springcloud 各个组件的运行机制是什么?
8. TreeMap与TreeSet实现原理是什么?
9. Array和ArrayList的区别?
10. JVM的数据区有哪些,作用是什么?
1 ...
Spring Framework源码搭建
- 博客分类:
- 框架
第一步:确保jdk和gradle安装完成,jdk安装设置不用多说,下面说下gradle的安装
1.在gradle官网下载gradle-1.6.bin.zip
https://gradle.org/
2.设置环境变量
解压到本地路径D:\gradle\gradle-1.6
增加环境变量配置GRADLE_HOME=D:\gradle\gradle-1.6
设置Path=%GRADLE_HOME%\bin
类从被加载到虚拟机内存中开始,到卸载出内存为止,整个生命周期:
一、类加载的时机
1. 实例化对象的时候、读取或设置一个类的静态字段的时候、调用一个类的静态方法的时候;
2. 使用java.lang.reflect包的方法对类进行反射调用的时候;
3. 当初始化一个类,发现其父类还没有进行过初始化,则需要先触发其父类初始化;
4. 当虚拟机启动时,用户需要指定一个要执行的主类,虚拟机会先初始化这个主类;
5. 当使用jdk1.7的动态语言时,
接口的初始化与类的初始化的区别:当一个类在初始化时,其父类必须全部都已经初始化 ...
一、判断对象是否存活
1.引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0,说明对象不可能再被使用。
2.可达性分析算法:通过一系列称为“GC Roots”的对象为起始点,从起始点开始向下搜索,当一个对象没有与起始点有任何方式的相连时,说明这个对象不可用。
二、判断何时垃圾回收
三、垃圾回收算法
1.标记-清除算法:先标记出所有需要回收的对象,然后标记完后统一回收所有被标记的对象。
2.复制算法:
(1)将内存分为一块较大的Eden空间和两块较小的Survivor空间
(2)标记并将Ed ...
一、进程与线程
进程是正在运行的程序的实例,线程是程序中一个单一的顺序控制流程。一个进程可以同时运行多个线程,一个线程可以创建和撤消另一个线程。由于线程之间的相互制约,因此线程存在就绪、阻塞、运行三种基本状态。
二、线程状态转换
三、阻塞
1、等待阻塞:运行的线程执行wait()方法,JVM会把该线程放入等待池中。
2、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池中。
3、其他阻塞:运行的线程执行sleep()或join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待 ...
一、聚集索引
决定表中数据行在磁盘上的物理顺序。一个表只有一个聚集索引,一般是主键。
二、非聚集索引
不决定物理顺序,索引上仅包含被建立索引的数据,以及一个行定位符,通过此定位符能找到行数据。
三、联合 ...
一、定义
JStorm是一个分布式实时计算引擎,是一套基于流水线的消息处理机制。
用户按照指定的接口实现一个任务,然后将这个任务递交给JStorm系统,Jstorm将这个任务跑起来,并且按7 * 24小时运行起来,一旦中间一个worker 发生意外故障, 调度器立即分配一个新的worker替换这个失效的worker。
二、应用场景
1、日志分析
读取JavaBean
1、一个JavaBean
Java代码:
response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); StuBean stu = new StuBean(); stu.setId("s001"); stu.setName("Jahson"); stu.setPassword("123456"); JSONObject jsonObject = JSONO ...
面向对象技术
Java面向对象的四大特征
抽象:对现实中的某一实体或事件提取相同信息和共同规律的过程
封装:就是将属性或行为隐藏起来,不允许其他人修改,仅对外提供接口。
继承
多态:静态多态和动态多态
访问修饰符
Public:公共的。所有对象都可以调用
Private:私有的。自己内部使用
Protected:受保护的。子类和自己可以使用
package com.zi.test;
public class SingleLinkList {
/**
* define a class Value for using object of Element
* @author Administrator
*
*/
class Value {
}
class Element {
Object value = null;
Element nextNode = null;
}
private Element header = null;
...
搭建Tomcat服务器
- 博客分类:
- 框架
1. 配置jdk环境变量,因为tomcat是基于java的,需要jdk的支持才能运行。
JAVA_HOME
C:\Program Files\Java\jdk1.6.0_23