复习java基础
自己面试用
咕咕评测姬
大白大大白
展开
-
项目概述自用
1.开发首页无需权限:分页查询、10条记录2.开发注册功能无需权限:工具开发启动客户端的SMTP服务,设置邮箱参数配置:使用javaMailSend发送邮件业务开发先判短输入参数是否合法,再判断名称和邮箱是否已经注册,通过则把数据(密码加盐)随机产生牛客网头像,激活状态为未激活,并生成随机激活验证码,插入用户表得到用户id使用Thymeleaf发送HTML邮件:发送的是用户id,激活验证码TemplateEngine.process("/mail/activation", cont原创 2020-08-03 22:53:23 · 1241 阅读 · 0 评论 -
java基础4
1)ArrayList和Vector的区别共同点: 这两个类都实现了List接口,它们都是有序的集合(存储有序),底层是数组。我们可以按位置索引号取出某个元素,允许元素重复和为null。 区别: 同步性: ArrayList是非同步的 Vector是同步的 即便需要同步的时候,我们可以使用Collections工具类来构建出同步的ArrayList而不用Vector 扩容大小: Vector增长原来的一倍,ArrayLi原创 2020-08-03 01:14:34 · 213 阅读 · 0 评论 -
java基础3
文章很多重复的,但是方便多次记忆^-^内容大多来自网络,会带有链接1)同步与异步同步,就是调用某个东西是,调用方得等待这个调用返回结果才能继续往后执行。同步需要按部就班地走完一整个流程,完成一整个动作,或者说两个同步任务相互依赖,并且一个任务必须以依赖于另一任务的某种方式执行。异步,两个异步的任务完全独立的,一方的执行不需要等待另外一方的执行。再换句话说,异步调用种一调用就返回结果不需要等待结果返回,当结果返回的时候通过回调函数或者其他方式拿着结果再做相关事情。2)阻塞和非阻塞阻塞:阻.原创 2020-08-02 02:01:16 · 246 阅读 · 0 评论 -
java基础2
1)枚举以枚举定义的常量使代码更具可读性,允许进行编译时检查,预先记录可接受值的列表,并避免由于传入无效值而引起的意外行为。在编译时自动继承enum接口,并且枚举变量都被隐式的声明为static final在反编译中可以看出。枚举也有.class文件也是个类。而且在编译期间自动加入了很多static方法:编译器为我们添加的静态的values()方法:获得所有枚举类型编译器为我们添加的静态的valueOf()方法,注意间接调用了Enum也类的valueOf(String s)方法:返回字符原创 2020-08-01 22:49:39 · 303 阅读 · 0 评论 -
spring基础
1)IOCSpring IOC 解决的是对象管理和对象依赖的问题。「控制反转」指的就是:本来是「由我们自己」new出来的对象,现在交给了IOC容器。把这个对象的「控制权」给「他方」了。「控制反转」更多的是一种思想或者说是设计模式,把原有由自己掌控的事交给「别人如spring容器」来处理。「依赖注入」更多指的是「控制反转」这个思想的实现方式:对象无需自行创建或管理它们的依赖关系,依赖关系将被「自动注入」到需要它们的对象当中去。更容易理解的说springIOC就是通过对xml或者注解的配置(当.原创 2020-08-03 23:01:05 · 197 阅读 · 0 评论 -
数据分布之一致性哈希
转载自:https://www.cnblogs.com/qcblog/p/8886360.html数据分布之一致性哈希一、数据分布在分布式环境下,数据分布也即是将数据拆分,存放到不同节点上,是分布式系统中的基本问题之一。不同的数据分布方式需要权衡诸如伸缩性、数据倾斜(负载的均衡)、元数据维护等问题。没有一种万能的方案能够解决所有的问题,不能脱离应用场景谈优劣,应该要针对不同的应用场景选择合适的方案。一般而言,可以有以下几种数据分布的方式:1)哈希分区(或者叫余数法)基本思想是根据数.转载 2020-07-31 00:47:50 · 433 阅读 · 0 评论 -
Redis基础知识
1)redis是什么Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是Redis 的数据是存在内存中的,也就是它是内存数据库,所以读写速度非常快,并且使用的储存方式是key-value形式,因此 Redis 被广泛应用于缓存方向。另外,Redis 除了做缓存之外,Redis 也经常用来做分布式锁,甚至是消息队列。Redis 提供了多种数据类型来支持不同的业务场景。Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。2)Redis 常见数据结构1....原创 2020-08-03 23:00:45 · 385 阅读 · 0 评论 -
mysql基础知识
文章大部分取至网络进行二次总结1)innodb和MYISAM的区别1.innodb支持事务myisam不支持2.innodb支持外键3.myisam只有表锁,而innodb有表锁、页锁、行级锁(默认行级)4.innodb支持mvcc2)ACID1.原子性:整个事务要么都成功要么都失败。InnoDB通过undolog保证rollback的时候能找到之前的数据(也就是前面提到的mvcc)2.一致性:任何时候数据库的数据都是一致的,事务的提交会从一个一致性状态转换到另一个一致性,也原创 2020-08-03 23:01:29 · 224 阅读 · 0 评论 -
kafka windows中启动
首先配置config目录下的文件zookeeper.properties的dataDir路径任意server.properties的log.dirs路径任意安装文件目录下cmdbin\windows\zookeeper-server-start.bat config\zookeeper.properties安装目录下bin\windows\kafka-server-start.bat config\server.properties进入安装目录bin\windows目录下创建原创 2020-07-21 12:52:50 · 322 阅读 · 0 评论 -
java多线程和锁,自用,长文
1)并行并发1.并行指多个事件在同一个时刻发生(多cpu);并发指在某时刻只有一个事件在发生,某个时间段内由于 CPU 交替执行,可以发生多个事件。2.并行没有对 CPU 资源的抢占;并发执行的线程需要对CPU 资源进行抢占。3.并行执行的线程之间不存在切换;并发操作系统会根据任务调度系统给线程分配线程的 CPU 执行时间,线程的执行会进行切换。Java 中多线程运行的程序可能是并发也可能是并行,取决于操作系统对线程的调度和计算机硬件资源2)进程与线程1.进程进程是操作系统的资.原创 2020-07-09 16:44:14 · 328 阅读 · 1 评论 -
JVM基础自用
1)内存区域程序计数器:可以看作是当前线程所执行的字节码文件(class)的行号指示器,它会记录执行痕迹,是每个线程私有的 方法区:主要存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据,该区域是被线程共享的,很少发生垃圾回收 栈:栈是运行时创建的,是线程私有的,生命周期与线程相同,存储声明的变量 本地方法栈:为 native 方法服务,native 方法是一种由非 java 语言实现的 java 方法,与 java 环境外交互,如可以用本地方法与操作系统交互 堆:堆是所原创 2020-07-07 03:47:29 · 440 阅读 · 1 评论 -
java集合
1)常用的集合Map接口和collection接口是所有集合框架的父接口。List以及Set接口继承于collection接口。Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等 List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等2)Array和ArrayList的区别原创 2020-07-04 00:57:00 · 231 阅读 · 1 评论 -
java基础IO
1)Java中有几种类型的流1、基于字节操作的I/O接口:InputStream和OutputStream2、基于字符操作的I/O接口:Writer和Reader3、基于磁盘操作的I/O接口:File4、基于网络操作的I/O接口:Socket(不在java.io包下)分类1、按流的方向:输入流,输出流2、按流的功能:节点流,处理流3、按处理单位:字节流,字符流2)四个基本抽象流,顶级接口inputStream:字节输入流outputStream:字节输出流.原创 2020-07-03 02:20:35 · 172 阅读 · 0 评论 -
java基础1
1)重写equals方法的时候为什么需要重写hashcode?Java的object中equals的实现:public boolean equals(Object obj) { return (this == obj); }可以看到是用来比较两个对象的内存地址是否相等。hashCode方法是本地方法,用于计算出对象的一个散列值,用于判断在集合中对象是否重复的关键。在源码注解中大致讲述看:当我们将equals方法重写后有必要将hashCode方法也重写,这样.原创 2020-07-02 12:44:09 · 354 阅读 · 1 评论