首页 | 当前分类:java

基础

JVM 内存结构 栈 堆 方法区 程序计数器 本地方法栈 线程私有 线程共享 线程共享 线程私有 线程私有 存放局部变量、操作数、动态链接、方法返回地址等 存放对象实例 存放类信息、常量、静态变量 存放当前执行的字节码和行号 服务于 Native 方法 栈和堆 栈 堆 先进后出 二叉树 线程共享 线...

java 87 0 2019-02-19 阅读更多

多线程

线程状态 就绪(Runnable):线程准备运行。 运行中(Running):线程正在被执行。 等待中(Waiting):线程被阻塞。 睡眠中(Sleeping):线程处于睡眠状态。 I/O 阻塞(Blocked on I/O):等待 I/O 操作完成。 同步阻塞(Blocked on Synchronization):等待获取锁。 死亡(Dead):线程执行完毕。 线程池 在初...

java 59 0 2019-02-19 阅读更多

缓存

Redis 的数据类型 String:键值对,value 可以是字符串或数字。(value 最大 512 M) Hash:键值对集合,value 是 HashMap。 List:String 类型的有序集合,底层是双向链表,支持反向查找和遍历。 set:String 类型的无序集合,底层是 value 永远为空的 HashMap。 ZSet:在 set 的基础上,每个元素关联一个 double 类...

java 59 0 2019-02-19 阅读更多

Spring Boot 入门

简介 J2EE 配置繁多,开发效率低,部署流程复杂,继承第三方服务难度大。 Spring Boot 可用来简化 Spring 应用开发,约定大于配置。 官方文档:https://spring.io/projects/spring-boot#learn 特点 松耦合,不论在开发阶段,还是部署阶段,每个服务都是独立的 可使用不同的语言开发 易于和第三方集成 可部署在中...

java 106 0 2018-11-20 阅读更多

Netty

BIO、NIO、AIO BIO:同步阻塞。一个连接一个线程,线程开销大。 NIO:同步非阻塞。一个请求一个线程,请求都被注册到多路复用器上,有 I/O 请求时才启动一个线程。 AIO:异步非阻塞。一个有效请求一个线程。 io 和 nio 的区别 io nio 面向流(只能顺序从流中读取数据) 面向块(数据先被读写进块中,然后根据需要...

java 211 0 2018-06-19 阅读更多

Spring

Spring 框架的优点 轻量,大约 2 M。 控制反转:松耦合,对象给出它们的依赖,而不是创建或查找依赖的对象。 容器:包含并管理应用中的对象的声明周期和配置。 面向切面编程(AOP):把应用业务逻辑和系统服务分开。 MVC框架:是 Web 框架的一个很好的替代品。 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到...

java 209 0 2018-06-19 阅读更多

Redis

为什么要是有 Redis? 性能:需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。 并发:在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这时就需要使用 Redis 做一个缓冲操作,让请求先访问到 Redis,而不是直接访问数据库。 Redis 的缺点 缓存和数据库双写一致性问题:...

java 210 0 2018-06-19 阅读更多

Mybatis

#{ } 和 ${ } 的区别? ${ } 是变量占位符,#{ } 是参数占位符,Mybatis 会将其替换为 ?,并在参数值外加上引号,能防止 sql 注入。 xml 映射文件中有哪些标签?(select / insert / update / delete) <resultMap> <parameterMap> <sql> <include> <selectKey> <include> 用来引...

java 183 0 2018-06-19 阅读更多

Java虚拟机—JVM(面试)

JVM 特性 平台无关性,在不同平台上运行不需要重新编译,JVM 在执行字节码时,会把字节码解释成具体平台上的机器指令。 JVM 内存模型 方法区(线程共享):常量、静态变量、JIT(即时编译器)编译后的代码。 堆内存(线程共享):垃圾回收的主要场所。 程序计数器:当前线程执行的字节码的位置指示器。 虚拟机栈(栈内存...

java 226 0 2018-06-18 阅读更多

Java并发(面试)

进程、线程、协程 进程:是一个执行中的程序,是系统进行资源分配和调度的一个独立单位。 线程:是进程的一个实体,是 CPU 调度和分派的基本单位,也是比程序更小的、能独立运行的基本单位。 一个程序至少有一个进程,一个进程至少有一个线程。在执行过程中,进程有独立的内存单元,多个线程共享内存资源,可以减少切换...

java 173 0 2018-06-17 阅读更多
1 2