- 博客(29)
- 收藏
- 关注
原创 知识总览
面试 http://blog.csdn.net/qq_25931839/article/details/79495564 Java 多线程 http://blog.csdn.net/qq_25931839/article/details/79213836 IO http://blog.csdn.net/qq_25931839/article/details/79136706 集合框...
2018-02-28 15:48:45 261
原创 Spring源码之component-scan
类继承InitializingBean并在类上标注@Component时bean被实例化两次 前提 spring启动时有两个容器一个是spring容器,一个是我们在xml写的DispatchServlet的Servlet容器。 写项目的时候把配置文件分为 spring-beans.xml, springmvc-bean.xml。 这么 写是为了区分spring管理的bean跟springm...
2018-11-20 20:37:19 203
原创 jvm crash
https://blog.csdn.net/achilles12345/article/details/50887402 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8014189
2018-07-26 18:37:23 277
原创 JAVA编码规范一些不是很多的点
格式 //建议下面这样写 boolean isComeFromChina = obj != null && (obj.get… == … || …) && (… || … & …); if(isComeFromChina ) {…} 方法参数在定义和传入时,多个参数逗号后边必须加空格 method(“a”, “b”, “c”); 在if/else...
2018-06-29 18:07:36 184
原创 DFS总结
网易魔法币逆推DFS给出方案,涉及最后为某个结果 运行时间34 ms 占用内存10588K 魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币 魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币 要到n给出一种方式 public static void dfs(int start,int n,List<String> list,Strin...
2018-03-25 22:09:48 214
原创 TCP/IP
已停更,转至有道笔记 滑动窗口 TCP差错控制,流量控制,拥塞控制(控制传输速率,有慢开始与拥塞避免就是刚开始比较慢,慢慢加速 快重传与快恢复收到三个连续的窗口确认则立马重传) TCP可靠性传输是通过(超时重传,数据校验,差错控制,流量控制) 差错控制: 现假设发送窗口数量为2,接收窗口为1 (后退n协议) 1) 发送方发送 2...
2018-03-11 18:17:43 172
原创 面试
Object类有哪些方法 wait(),notify(),notifyAll() 在调用wait和notify的时候,该线程必须要已经持有该锁,然后才可调用。wait()方法用于将线程进入等待队列是可被中断的,利用interrupt()方法(中断io的话是关闭其底层资源的调度,ReentrantLock上阻塞的任务可以被中断),notify()方法用于将等待队列的线程进入锁池,noti...
2018-03-09 11:55:08 308
原创 模板号对应枚举类
public enum SMSTemplateTypeEnum { RESET_PASSWORD("15759",new String[]{"code","username"}), VERIFICATION("16021",new String[]{"verificationCode"}); private String id; private String[]...
2018-03-02 15:51:39 1224
原创 Mybatis原理学习
已转移 mybatis初始化做了什么 configuration 配置 properties 属性 settings 设置 typeAliases 类型别名 typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource...
2018-02-06 21:20:59 194
原创 多线程
线程安全 volatile Java原子性操作实现原理 Java内存模型 ThreadLocal的设计理念与作用 什么是线程池(thread pool) concurrenthashmap 线程安全实现方案 锁优化方案 类锁,对象锁 实现多线程的3种方法 foreach与正常for循环效率对比 线程安全 线程安全指的是多线程环境下访问某个类,能够表现正确的行为。 volatile...
2018-01-31 10:17:32 216
原创 IO NIO
IO分类 IO/NIO基本知识汇总 select epoll BIO,NIO,reactor主从模型 IO分类 BIO 同步阻塞IO,服务器实现模式为一个连接一个线程。试用于连接数少,带宽要求高时.同步是一种消息通信机制,阻塞非阻塞是一种程序在等待调用结果的一种状态。 NIO 同步非阻塞,一个线程对应多个连接,一个请求对应一个线程。当连接数多而且短时,比如聊天室,可以用这个。 ...
2018-01-23 10:30:02 192
原创 集合框架
list, map,set 接口:Collection list, map,set java.util包下面的所有的集合类都是快速失败fail-fast迭代器的,而java.util.concurrent包下面的所有的类都是安全失败fail-safe迭代器的。快速失败的迭代器会抛出ConcurrentModificationException异常,而安全失败的迭代器永远不会抛出这样的异...
2018-01-14 17:40:42 209
原创 设计模式
已转移 创建型 工厂模式 public class Replace { public static void main(String[] args){ CardFactory card=new CardFactory(); card.buyCard("mobilecard").BuyCard(); } } interface Card{...
2018-01-12 21:39:25 244
原创 Kafka
已转移 1. Kafka组件 1) kafka topic是为了对消息进行分类 每条消息都被append到partition中,是顺序写磁盘,因此效率非常高(经验证,顺序写磁盘效率比随机写内存还要高,这是Kafka高吞吐率的一个很重要的保证)。 2) 如果partition规则设置的合理,所有消息可以均匀分布到不同的partition里 分区保...
2018-01-12 20:33:15 187
原创 计算机网络
已停更,转至有道云 计算机网络 计算机网络体系结构 应用层:为特定应用程序提供数据传输服务,例如 HTTP、DNS 等。数据单位为报文。 运输层:提供的是进程间的通用数据传输服务。由于应用层协议很多,定义通用的运输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最...
2018-01-12 13:30:44 196
原创 JVM
jvm内存模型 GC 类加载机制 内存溢出和内存泄漏 调优?? jvm内存模型 程序计数器 当前线程所执行字节码指示器 如果执行一个方法则计数器指向字节码指令地址 如果指向一个native方法则指向null。 不抛异常 java虚拟机栈 存放局部变量,方法执行时放栈帧,当进入一个方法时需要在栈帧存放多大内存空间是知道的。 java虚拟机规范中会抛出两个异常StackOve...
2018-01-12 13:23:19 195
原创 Redis设计与实现
已转移 Redis缓存设计 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效. 1) 缓存击穿:对于一些设置了过期时间的key, 刚好过期的时候,这时候有个高并发的请求,会导致直接访问数据库,危险. 2) 缓存穿透:查询一个一定不存在的数据,导致直接访问数据库。 解决方法:如果一个查询返回的数据为空,我们仍然把这个空结果进行缓存,但它...
2018-01-12 10:27:58 3097 1
原创 数据库相关知识以及经验总结
已停更,转移至有道云笔记 Mysql 优化之explain你的select ,show profile, 慢查询 explain select * from answer where question_id in(4007,4008,4009) and score>0; 其中questionId有索引而 score没有 1) select_type表示的...
2018-01-11 21:28:05 380
原创 操作系统
已转移 1. 进程跟线程的区别 1) 进程是系统调度资源的最小单位,进程独占系统资源,而线程缺占用很少的资源。 2) 进程由于资源比较多所以切换速度慢,线程资源少所以切换速度快。 3) 由于线程共享进程资源所以线程通信方便,进程的IPC复杂一些。 2. 进程线程的通信 1) 进程 信号,信号量,消息队列,管道,共享内存 23为异步通信 ...
2017-11-30 11:54:09 276
转载 Thrift学习
已转移 使用经验 client端 import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; imp...
2017-11-30 10:20:51 786
原创 Mybaits经验学习
已转移 动态sql元素解析 <where > <!--where标签相当于<trim prefix="WHERE" prefixOverrides="AND |OR ">--> <foreach collection="oredCriteria" item="criteria" separator=&
2017-11-30 10:17:47 255
原创 Spring学习之(四)依赖注入的几种装配方式
基于XML的装配方式 验证方式: 1) 默认构造 用于生成实例化对象,必须未重写bean的实例化方法。 配置文件: 2) 静态工厂方法,常用于Spring整合其它框架, 一个UserService类一个静态工厂类用于生产UserService类,此静态工厂所有方法必须为Static。 配置文件: 3)实例工厂 提供的所有方法都是非静态的,实例化之前必须先有工厂的实例化对
2017-11-29 22:07:37 420
原创 Spring学习(三)之依赖注入实现
涉及源码解析。 一. 简单依赖注入测试代码: 二. 对BeanFactory bf=newXmlBeanFactory(new ClassPathResource(“…”))分析。 BeanFactory bf=new XmlBeanFactory(newClassPathResource(“…”));有些过时了。最顶上为核心类XmlBeanFactory继承自 De
2017-11-29 21:45:26 178
原创 Java基础之数据类型(二)String,StringBulider,StringBuffer区别以及常用API
1.可变与不可变 String源码是final修饰的,所以是存储在不可变区域,即存在字符串常量区 String s=new String();或者静态区String s="faffds",StringBulider与StringBuffer都是可变的,一般涉及到字符串操作的时候用后者。 2.是否多线程安全 String中的对象是不可变的,也就可以理解为常量,显然线
2017-11-29 12:52:29 246
原创 Java基础之数据类型(一)与传值传引用分析
java数据类型大方向有三种,基本类型,引用类型,枚举类型。 1. 基本类型 1) 整数型 byte,short,int,long 2) 小数 float,double 3) char 4) boolean 2.枚举类型 enum 3.引用类型 1) Strin
2017-11-28 20:23:26 180
原创 剑指offer之java篇之全排列(三)
题:全排列 比如 abc 全排列为 abc acd bac bca cab cba 总共3! n个字母则有n!种。 分析:可以用字典序来完成全排列。一次排列过程为: 1) 按照以上所述需要以从小到大顺序输出,因为用的基本数据类型,很多函数要自己写,则需要先将abc排列一下就是sort一下。 2) 从后往前找到相邻中倒置的数
2017-11-28 17:05:52 238
原创 剑指offer之java篇之旋转数组(二)
题:旋转数组求最小值。1 2 3 4 5 6 旋转变为 3 4 5 6 1 2 分析:这种基本有序比较容易想到二分法。分为以下几种情况: 1) array[mid]>array[right]说明一定在右边,而且这个mid一定不是最小的。 2) array[mid] 3) 不用考虑了,全部相等
2017-11-28 16:45:12 121
原创 剑指offer之java篇之空格替换(一)
之前学c++的,现在学习java,重现用java写一遍剑指offer。 题:空格替换 We are happy变成 We%20are%20happy。 分析:刷剑值offer的目的并不只是会做某道题,需要考虑多种解题思路,毕竟题在精不在多。 解题思路一:不改变原有的StringBuffer结构的情况下,替换空格,注意StringBuffer跟StringBulide
2017-11-28 16:32:12 367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人