![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 94
houbj的博客
这个作者很懒,什么都没留下…
展开
-
计算机网络
1、计算机网络1.1 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1.1 应用层应用层(application-layer)的任务是 通过应用进程间的交互来完成特定网络应用应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如 域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议 等等我们把应用层交互的数据单元称为报文HTTP协议:超文本传输协议是互联网上应用最为原创 2021-01-25 17:19:51 · 2046 阅读 · 1 评论 -
Spring、SpringBoot、SpringCloud、Mybatis
1、Spring1.1 谈谈你对Spring的理解1.1.1 Spring是什么?一个开放源代码的J2EE应用程序框架,针对bean的生命周期进行管理的轻量级容器是为了解决企业级编程中开发的复杂性,实现敏捷性开发的应用型框架Spring是一个开源的容器框架,他集成各类型的工具,通过核心的 Bean Factory 实现了底层类的实例化和生命周期的管理,在整个框架中,各类型的功能被抽象成一个个的Bean,这样就可以实现各种功能的管理让Java开发模块化,并且全面。Spring通过控制反转降低耦原创 2021-01-12 10:32:31 · 968 阅读 · 1 评论 -
Java基础、集合、JVM、多线程、mysql、数据结构、Redis
1、Java基础1.1 接口与抽象类的区别1.2 Java中异常有几类,分别怎么使用1.3 常用的集合类有哪些?怎么排序的?Collections.sort(List);1.4 ArrayList和LinkedList的区别1.4.1 LinkedList是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList 实现 List 接口,能对它进行队列操作LinkedList 实现 Deque 接口,即能将Lin原创 2021-01-04 17:27:18 · 891 阅读 · 1 评论 -
spring
1 spring简介1.1 spring是什么(1)?是一个开源框架为了简化企业应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能是一个IOC和AOP的容器框架1.1 spring是什么(2)?轻量级:Spring是非入侵性的-基于Spring开发的应用中对象可以不依赖Spring的API依赖注入面向切面编程容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期框架:Spring实现了使用简单的组件配置组合成一个复杂的应用,在Sp原创 2020-10-19 16:20:02 · 255 阅读 · 0 评论 -
Spring Boot + Vue项目
1、服务器环境准备1.1 在阿里云服务器上购买最便宜的服务器即可2、远程链接服务器2.1 在mac环境下,使用ZenTermLite作为Shell工具2.2 ZenTermLite工具链接服务器在阿里云服务器上运行该云服务器上的Linux环境找到服务器的 ip 地址,设置账户密码在ZenTermLite工具中配置 主机地址 、 用户名 、认证中的密码认证下的密码3、docker下安装mysqlyum -c /etc/yum.conf --installroot=/s原创 2020-09-06 17:21:35 · 309 阅读 · 0 评论 -
面10-Struts2
1、使用Filter做为控制器1.1 好处使用一个过滤器作为控制器,可以方便的在应用程序中对所有资源进行访问1.2 Servlet VS FilterServlet可以做的Filter都可以完成Filter可以拦截资源Filter中含有FilterChain...原创 2020-07-09 17:44:17 · 126 阅读 · 0 评论 -
mac快捷键
command+shift+t:创建测试类原创 2020-07-06 20:14:18 · 167 阅读 · 0 评论 -
面9-多线程(题)
1、描述synchronized和reentrantlock的底层实现及重入的底层原理1.1 CAS1、compare and swap:比较并且交换没有锁的状态下,保证多个线程对一个锁的更新2、图解原理:3、ABA问题:使用A时,其他线程中间改回B但在实际操作的时候又改回了A(可以加版本号,进行对比值和版本号)...原创 2020-06-04 12:47:53 · 194 阅读 · 0 评论 -
面8-多线程2
第一阶段1、线程介绍2、创建并启动线程2.1 继承Thread类2.2 实现Runnable接口2.3 实现Callable接口3、线程的生命周期3.1 生命周期new ----start—>Runnable----->Running ---->blocked---->terminated3.2 start方法源码解析public class TempleteMethod { public static void main(String[] args) {原创 2020-06-01 13:53:49 · 130 阅读 · 0 评论 -
面7-多线程
1、线程简介1.1 多任务、多线程1.2 普通方法和多线程1.3 process和Thread1、程序:指令和数据的有序集合,无任何运行意义,是一个静态的概念2、进程:执行程序的一次执行过程3、通常一个进程中包含若干个线程,线程是cpu调度和执行的单位2、线程创建2.1 继承Thread类1、代码class FirstThread extends Thread{ /** * 自定义线程类继承Thread类 * 重写run方法,编写线程执行体 * 创原创 2020-05-27 17:35:55 · 234 阅读 · 0 评论 -
集合
1、集合的相关概念1.1 集合框架1、Java集合类由三个接口派生而出,Collection和Map和Iterator2、Hash指的是哈希码的一种算法、数据结构1.2 相关区别1.2.1 ArrayList和LinkedList的区别?List常用的ArrayList和LinkedList?1、区别:ArrayList底层使用的是数组LinkedList底层使用的是链表数组:优点,查询数据速度快。缺点,插入删除修改比较慢(数组在内存中是一块连续的内存,如果插入删除需要移动内存)链原创 2020-05-27 15:15:33 · 148 阅读 · 0 评论 -
面5-String
1、三大核心机制:不变性、常量池优化、final1.1只要对String进行修改,那就是创建了一个新的对象1.2 不变性:是一个immutable模式的对象,不变模式的主要作用是当一个对象需要被多线程共享并频繁访问时,可以保证数据的一致性1.3 常量池优化:String对象创建之后,会在字符串常量池中进行缓存,下次创建同样的对象时,会直接返回缓存对象的引用1.4 final:String类不可被继承,提高了系统的安全性2、String2.1 创建方式 System.out原创 2020-05-27 11:42:44 · 107 阅读 · 0 评论 -
面-题
1、简单讲一下Java的跨平台原理由于各操作系统支持的指令集不是完全一致的,就会让我们程序在不同的操作系统上要执行不同的程序代码。Java开发了适用于不同操作系统及位数的Java虚拟机来屏蔽各个系统之间的差异,提供统一的接口。只需要在不同的系统上安装对应不同Java虚拟机、Java程序只要遵循Java规范,就可以在操作系统上面运行Java程序。Java通过不同的系统、不同版本、不同位数的Java虚拟机来屏蔽不同的系统指令集差异而对外提供统一的接口,只需要开发接口即可2、Java中int类型数据站几个字原创 2020-05-27 10:10:21 · 260 阅读 · 0 评论 -
面4-JavaWeb
1、HashMap核心数据结构详解1.1 底层实现1、数组+链表+红黑树(链表与数组之间的平衡)2、new 默认容量:163、红黑树的五个性质:(1)每个节点要么是红的要么是黑的(2)根节点是黑的(3)每个叶节点是黑的(4)如果一个节点是红的,那么他的两个儿子都是黑的(5)对于任意节点而言,其到叶节点树尾端NIL指针的每条路径都包含相同数目的黑节点...原创 2020-05-26 16:52:38 · 478 阅读 · 0 评论 -
面3-Java内存模型、JMM剖析与高并发优化
1、多并发缓存架构1.1 图解2、JMM内存模型(Java内存模型)2.1 建立:Java线程内存模型与cpu缓存模型类似,是基于cpu缓存模型来建立的,Java线程内存模型是标准化的,屏蔽了底层不同计算机的区别2.2 代码解释工作内存 public static void main(String[] args) throws InterruptedException { new Thread(new Runnable() { @Override原创 2020-05-26 12:42:30 · 154 阅读 · 0 评论 -
面2-JVM
1、JDK、JRE1、 Java程序-运行过程:xxx.java -> javac -> xxx.class -> java -> JVM -> windows机器码、linux机器码2、栈1、放局部变量2、每个线程都有自己的栈内存,用于放线程自己的局部变量3、栈帧:(1)一个方法对应一块栈帧内存区域(2)main线程 —》 栈 --》栈1(方法1)栈帧、main栈帧(3)包含:局部变量表、操作数栈、动态链接、方法出口(回到主方法的代码位置)(4)对象:原创 2020-05-25 17:46:54 · 192 阅读 · 0 评论 -
面1-索引
1、慢sql查询2、添加索引3、索引:3.1 概念:1、索引是帮助mysql高效获取数据的排好序的数据结构原创 2020-05-25 09:52:06 · 175 阅读 · 0 评论