
小白到架构师路线
a大魔王
一起打代码?
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程安全
一.什么是线程安全 当多个线程同时共享,同一个全局变量或静态变量,做写操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作时不会发生数据冲突问题。public class ThreadDemo { public static void main(String[] args) { One one = new One(); Thread t1 = ne...原创 2019-01-19 15:32:57 · 36645 阅读 · 0 评论 -
设计模式
什么是设计模式?设计模式是一套被反复使用,多数人知晓的,进过分类编目的,代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性。设计模式的分类创建型模式:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。结构型模式:适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。行为型模式:策略模式,模板方法模式,观察者模式...原创 2019-02-21 11:46:19 · 14410 阅读 · 0 评论 -
NIO编程
什么是NIOio基于字节流和字符流进行操作的,而nio是基于通道和缓冲区进行操作,数据总从通道读到缓冲区中,或者从缓冲区写入到通道中。java nio可以让你非阻塞的使用iojava nio引入了选择器的概念,选择器用于监听多个通道的事件。io是面向流,阻塞io,无选择器。而nio是面向缓冲区,非阻塞io,有选择器。buffer的数据存取一个用于特定基本数据类型的容器,有j...原创 2019-02-26 22:47:32 · 14044 阅读 · 0 评论 -
垃圾回收机制算法
什么是垃圾回收机制垃圾回收机制就是,不定时,向堆内存中清理不可达对象。垃圾回收可以有效的防止内存泄漏,有效的使用空闲的内存。内存泄漏是指改内存空间使用完毕之后未被回收,在不涉及复杂数据结构的一般情况下,java的内存泄漏表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们优势也将其称为”对象游离“。内存泄漏的定义:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因...原创 2019-03-09 11:25:12 · 36003 阅读 · 0 评论 -
Spring分析
SpringIOC控制翻转,依赖注入。就是由spring来负责控制对象的生命周期和对象间的关系。底层就是用java反射和dom4j。BeanFactory作为最顶层的一个接口类,它定义了IOC容器的基本功能规范。SpringAop面向切面编程,底层用的是代理设计模式。代理设计模式又分为,静态代理和动态代理。SpringAop底层用的就是两种动态代理模式,一种是jdk动态...原创 2019-03-14 10:44:13 · 35038 阅读 · 0 评论 -
跨域解决方案
跨域解决方案跨域其实是浏览器安全机制,请求访问的域名与ajax请求地址不一致,浏览器会直接无法返回请求结果。1.添加header请求允许访问String origin = request.getHeader("Origin");response.addHeader("Access-Control-Allow-Origin", origin);response.addHeader(...原创 2019-03-09 15:33:03 · 39134 阅读 · 0 评论 -
ActiveMQ
什么是消息中间件面向消息的中间件,发送者将消息发送给消息服务器,消息服务器将消息存放在队列中,在合适的时候在将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待,二者的生命周期未必相同,发送消息的时候接受者不一定运行,接收消息的时候发送者也不一定运行,一对多通信,对于一个消息可以有多高接收者。jmsjms是java的消息服务,jms的客户端之间可以通过jms服务进行异...原创 2019-03-16 14:34:36 · 35620 阅读 · 0 评论 -
MySQL优化
MySQL优化方式表的设计合理化(符合3NF),实际设计中不可能百分百遵守3NF 添加适当索引(index)普通索引,主键索引,唯一索引,全文索引 SQL语句优化 分表技术(水平分割,垂直分割) 读写分离 存储过程 对mysql配置优化(配置最大并发数my.ini,调整缓存大小) mysql服务器硬件升级 定时去清除不需要的数据,定时进行碎片整理数据库三大范式第一范式:1...原创 2019-03-12 11:14:28 · 37775 阅读 · 0 评论 -
Dubbo介绍
什么是Dubbodubbo是一个RPC远程调用框架,分布式服务治理框架。dubbo服务治理:服务与服务之间会有很多个url,依赖关系,负载均衡,容错,自动注册服务。Dubbo有哪些协议默认用的dubbo协议,http,RMI,HessianDubbo整个架构流程分为四大模块生产者,消费者,注册中心,监控中心生产者:提供服务消费者:调用服务注册中心:注册信息...原创 2019-03-19 10:47:13 · 36194 阅读 · 0 评论 -
JVM参数调优
java内存结构java内存模型就是(JMM多线程),java内存结构组成,方法区,堆,栈,本地方法栈方法区:方法区又叫永久区,static关键词修饰,常量信息,当class文件被加载的时候,就会被初始化。所有线程会被共享堆:创建对象,new创建 数组 存放在堆内存,堆被所有线程共享堆内存中分配两个区,新生代,老年代。新生代又分为eden,s0,s1区,对象刚创建会存放在ede...原创 2019-03-02 11:39:53 · 34353 阅读 · 0 评论 -
java注解
什么是注解?jdk1.5新增新技术,注解,很多框架为了简化代码,都会提供有些注解。可以理解为插件,是代码级别的插件,注解不会影响代码的实际逻辑,仅仅起到辅助性作用。注解分类:内置注解,自定义注解内置注解@SuppressWarnings:再程序前面加上可以在javac编译中去除警告。@Deprecated:带有标记的包,方法,字段说明其过时。@Overricle:打上这个标...原创 2019-02-21 09:18:06 · 32878 阅读 · 1 评论 -
多线程快速入门
一,线程与进程的区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程就是所有线程的集合,每个一个线程是进程中的一条执行路径二,多线程创建方式第一种:继承Thread类重写run方法class CreateThread extends Thread { public void run() { for(int i = 0; i<10...原创 2019-01-16 11:35:22 · 28469 阅读 · 0 评论 -
java并发包
1.同步容器类vector与arraylist区别arraylist是最常见的list实现类,内部是通过数组实现的,它允许对元素进行快速随机访问,数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有的数组复制到新的存储空间中,当从arraylist的中间位置插入或者删除元素时,需要对数组进行复制,移动,代价比较高,因此它合适随机查找和遍历,不合适插入和删除。...原创 2019-02-15 15:58:23 · 36644 阅读 · 0 评论 -
线程池原理分析和锁的深入化
1.线程池是什么java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池,在开发过程中,合理地使用线程池能够带来很多好处降低资源消耗,提高响应速度,提高线程的可管理性。线程池是为突然大量爆发的线程设计的,通过有限的几个固定线程为大量的操作服务,减少创建和销毁线程所需的时间,从而提高效率。2.线程池分类ThreadPollExecutor...原创 2019-02-16 18:30:52 · 14228 阅读 · 0 评论 -
NIO同步阻塞与同步非阻塞
BIO与NIOIO与NIO区别:其本质就是阻塞和非阻塞的区别。阻塞概念:应用程序在获取网络数据的时候,如果网络传输数据很慢,就会一直等待,直到传输完毕为止。非阻塞概念:应用程序直接可以获取已经准备就绪好的数据,无需等待。IO为同步阻塞形式,NIO为同步非阻塞形式,NIO并没有实现异步,在JDK1.7升级NIO库包,支持异步非阻塞。BIO:同步阻塞式IO,服务器实现模式为一个连接...原创 2019-02-27 15:09:26 · 15173 阅读 · 1 评论 -
java网络编程
什么是Socketsocket就是为网络服务提供的一种机制。通讯的两端都有Sokect网络通讯其实就是Sokcet间的通讯数据在两个Sokect间通过IO传输TCP与UDP区别udp:是面向无连接,将数据及源的封装成数据包中,不需要建立连接每个数据包的大小在限制64k因无连接,是不可靠协议不需要建立连接,速度快Tcp:建立连接,形成传输数据的通道...原创 2019-02-22 20:44:43 · 35338 阅读 · 0 评论 -
Netty快速入门
什么是NettyNetty是一个基于java nio 类库的异步通讯框架,它的架构特点是:异步非阻塞,基于事件驱动,高性能,高可靠性和高可定制性。Netty应用场景分布式开源框架中dubbo,zookeeper,rocketmq底层 rpc(远程过程调用协议)通讯使用就是netty游戏开发中,底层使用netty通讯为什么选择NettyNIO的类库和api繁杂,使用麻烦,你需...原创 2019-02-27 21:20:38 · 34333 阅读 · 0 评论 -
数据交换格式
1.JSONjson是一种轻量级的数据交换格式,相比与xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所有客户端和服务器的数据交换格式往往通过json来进行交换。json有两种数据结构json简答说就是javascriptzhogn中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构对象:对象在js中表示为"{}"...原创 2019-02-18 19:56:37 · 36866 阅读 · 0 评论 -
java反射机制
什么是java反射就是正在运行,动态获取这个类的所有信息。反射机制的作用把.class -> .java 通过反射机制访问java对象的属性,方法,构造方法等。反射机制的应用场景jdbc加载驱动 springioc 框架反射创建对象的方式public class Person { private String name; private ...原创 2019-02-20 10:39:17 · 33728 阅读 · 0 评论 -
Netty百万级连接
1.Netty是一个基于java nio 异步通信框架,其架构特点 异步非阻塞,基于事件驱动,高性能,高可靠性,高可定制性2.BIO 优点模型简单代码简单,缺点请求数和线程数1:1,在高并发情况下cpu切换线程上下文损耗大,tomcat7之前使用的是BIO之后使用的是Nio,可以使用线程池使用伪Nio同步阻塞IO:一个请求一个线程,客户发起一个请求服务器就需要启动一个线程去处理,如果这个...原创 2019-09-05 18:35:54 · 19241 阅读 · 0 评论