[关闭]
@Beeder 2018-07-07T10:12:28.000000Z 字数 1560 阅读 575

java后端知识总结

JavaWeb


Java

基础

集合

List
可以允许重复的对象
可以插入多个null元素
是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序
常用的实现类有 ArrayList、LinkedList 和 Vector
Set
不允许重复对象
只允许一个 null 元素
无序容器,你无法保证每个元素的存储顺序,TreeSet通过 Comparator或者 Comparable维护了一个排序顺序
流行实现类:HashSet、LinkedHashSet 以及 TreeSet
    HashSet:基于HashMap 实现的
    TreeSet:实现了 SortedSet接口,此 TreeSet是一个根据其 compare() 和 compareTo() 的定义进行排序的有序容器
Map
Map是一个接口,不是collection的子接口或者实现类。
Map可能会持有相同的值对象但键对象必须是唯一的
TreeMap也通过 Comparator或者 Comparable维护了一个排序顺序
Map里最多只能有一个 null键
流行实现类:HashMap、LinkedHashMap、Hashtable和 TreeMap

多线程

JVM

问题点

值传递和引用传递

值传递:对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值
引用传递:对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

框架

SpringBoot

SpringMVC

Spring

Mybatis

Hibernate

安全框架

SpringSecurity

https://springcloud.cc/spring-security-zhcn.html

UserDetails接口实现类User:定义用户信息,权限等
UserDetailsService接口实现类CustomAuthenticationServiceImpl:获取登录用户对象
AuthenticationProvider(认证信息)接口实现类
SimpleUrlAuthenticationFailureHandler(授权信息)类
SecurityUtils类 整理SpringSecurity方法,提供接口使用

Shiro

https://www.cnblogs.com/learnhow/p/5694876.html

AuthorizationInfo(授权信息)集合、AuthenticationInfo(认证信息)集合
AuthenticationToken接口
AuthorizingRealm抽象类

问题点

Mybatis和Hibernate的区别

MySQL

语句

级联查询

索引

事务

问题点

MySQL优化原则

事务四大特性

原子性、统一性、隔离性、持久性

设计模式

单例模式

工厂模式

策略模式

代理模式

构建者模式

装饰者模式

观察者模式

编码

1字节=8位

ASCII

不考虑中文

1字符=1字节=8位

GBK

1汉字=2字节=16位

UNICODE

只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储

在unicode编码下,1个汉字可能是2个字节,也可能是3个或者是4个字节

UTF-8

基于unicode

英文字母占一个字节,汉字或其他字符占1-4个字节

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注