
java核心知识点整理
文章平均质量分 90
网上获取的java核心知识点整理,现在做成自己的博客记录下。
陈建111
我叫陈建,一个对Java后端技术比较感兴趣的码农
展开
-
脏读、不可重复读、幻读
脏读、不可重复读、幻读原创 2022-11-18 12:54:03 · 137 阅读 · 0 评论 -
OOM内存溢出分析
OOM分析步骤原创 2022-11-18 10:50:59 · 916 阅读 · 0 评论 -
Java 垃圾收集器
Java垃圾收集相关方面的知识原创 2022-11-18 08:49:00 · 585 阅读 · 0 评论 -
图解Java设计模式学习笔记——结构型模式(适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式、代理模式)
一、适配器模式(类适配器、对象适配器、接口适配器)二、桥接模式(Bridge)三、装饰着模式(通俗易懂)四、组合模式(部分整体模式)五、外观模式(过程模式)六、享元模式(蝇量模式、池原理)七、代理模式(静态代理、动态代理、Cglib代理)...原创 2021-10-26 13:36:01 · 505 阅读 · 0 评论 -
图解Java设计模式学习笔记——创建型模式(原型模式、建造者模式)
一、原型模式1、传统方式解决克隆羊问题克隆羊问题现在有一只羊,姓名为 tom,年龄为1,颜色为白色,请编写程序创建和tom羊属性完全相同的10只羊。public class Sheep { private String name; private int age; private String color; public Sheep(String name, int age, String color) { this.name = na原创 2021-10-13 11:38:03 · 235 阅读 · 0 评论 -
图解Java设计模式学习笔记——设计模式概述、创建型模式(单例模式、工厂模式)
一、设计模式概述二、单例模式原创 2021-10-11 22:16:14 · 245 阅读 · 0 评论 -
linux 下安装jdk源码
去java 官网下载 linux 版本的 jdk。本人下载的是jdk-8u301-linux-x64.tar.gz。将 jdk 长传到 linux 服务器的 /usr/local 文件夹。tar -zxvf jdk-8u301-linux-x64.tar.gz配置环境变量vim /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_301 #jdk安装目录export JRE_HOME=${JAVA_HOME}/jree.原创 2021-09-23 19:05:17 · 314 阅读 · 0 评论 -
Zookeeper框架精讲
1.zookeeper 入门1.1 Zookeeper 概述zookeeper 是一个开源的分布式的,为分布式应用提供协调服务的 Apache 项目。Zookeeper 从设计模式来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应。服务端启动时去注册信息(创建都是临时节点) 客户端获取到当前在线服务器列表,并注册监原创 2021-07-30 15:29:08 · 563 阅读 · 1 评论 -
7.网络架构详解
1.网络 7 层架构7 层模型主要包括:物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后再转化为 1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。 数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备叫做交换机,数据通过交换机来传输。 网络层:主要将从下层接收到的数据进行 IP 地址原创 2021-07-19 15:24:33 · 143 阅读 · 1 评论 -
8.Netty 与 RPC
1.Netty 原理Netty 是一个高性能、异步事件驱动的 NIO 框架,基于 Java NIO 提供的 API 实现。他提供了对 TCP 、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或通过通知机制获得 IO 操作结果。2.Netty 高性能在 IO 编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者 IO 多路复用技术进行处理。IO 多路复用技术通过把原创 2021-07-16 15:58:58 · 191 阅读 · 1 评论 -
5.Spring 原理
它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。原创 2021-07-14 19:04:21 · 739 阅读 · 1 评论 -
4.JAVA 基础
1.Java 异常分类及处理1.1 概念如果某个方法不能安装正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下回抛出一个封装了错误信息的对象。此时,这个方法会立刻退出,同时不会返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。1.2 异常分类Throwable 是 Java 语言中所有错误或异常的超类。下一层分为 Error 和 Exception 。ErrorError 类是指 Java 运行时系统的内部错误和资源耗尽错原创 2021-07-09 13:17:39 · 200 阅读 · 1 评论 -
3.Java多线程并发
1.Java 并发知识库2. Java 线程实现/创建方式2.1 集成 Thread 类2.2 实现 Runnable 接口2.3 ExecutorService、Callable、Future 有返回值线程原创 2021-07-06 11:27:50 · 344 阅读 · 1 评论 -
2.Java 集合
1.接口集成关系和实现结合类存放于 java.util 包中,主要有三种:set(集)、list(列表包含 Queue)和 map(映射)。Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 Iterator:迭代器,可以通过迭代器遍历集合中的数据 Map:是映射表的基础接口。2.ListJava 的 List 是非常常用的数据类型。 List 是有序的 Collection。java List 一共有三个实现类:分别是 Arr.原创 2021-06-24 19:34:01 · 318 阅读 · 1 评论 -
代码生成器模板引擎值velocity
1.velocity介绍1.1 什么是velocity?Velocity是一个基于java的模板引擎(template engine)。可以使用简单的模板语言(templatelanguage)来引用由java代码定义的对象。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供便利,同时也在JSP和PHP之间提供了一种可选的方案。也许您可能会有疑问,什么是模板引擎呢?1.2什么是模板引擎?官方说,模板引擎(web开发模板引擎)是为了使用用户界面与业务数据.原创 2021-01-30 09:44:10 · 3069 阅读 · 1 评论 -
Java NIO?看这一篇就够了!
现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如TOMCAT、JETTY。学习和掌握NIO技术已经不是一个JAVA工程师的加分技能,而是一个必备技能。在前面两篇文章《什么是Zero-Copy》和《NIO相关基础篇》中我们学习了NIO的相关理论知识,而在本篇中我们一起来学习一下Java NIO的实践知识。1.概述1.1 Channel1.2 Buffer1.3 Selector2.FileChannel2.1传统IO VS NIO2.2Buffer 的原创 2021-01-29 14:59:39 · 273 阅读 · 1 评论 -
什么是Zero-Copy?
1.概述考虑这样一种常用的情形:2.详述3.进阶原创 2021-01-24 10:38:25 · 345 阅读 · 1 评论 -
NIO相关基础篇
原文链接1.用户空间以及内核空间概念我们知道现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也可以访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核,保证内核安全,操作系统将虚拟空间划分为两个部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高1G字节(从虚拟地址0xc0000000到0xFFFFFFFF),供内核使用,成为内核空间。而原创 2021-01-24 01:21:43 · 185 阅读 · 1 评论 -
深入JVM 原理(包含G1垃圾收集器详解)
一.Java内存模型首先,我们回顾一下java的基本开发模式,我们知道我们写的所有的Java程序都保存在*.java文件中,即我们的源代码,但是呢,这些源代码,必须经过javac.exe命令将其编译成*.class文件,而后利用java.exe命令在JVM进程中解释此程序。但是在这里流程中,又有自己的过程,如下图实际上,当JVM将所需要的的.class文件加载到JVM进程之中,我们将需要一个类加载器 (ClassLoad),类加载器的好处在于:可以随便指定*.class文件所在的路径。J原创 2021-01-23 11:38:24 · 1234 阅读 · 1 评论 -
JVM原理最全、清晰、通俗讲解(包含类加载机制讲解)
1.Java自动管理堆(Heap)和栈,程序员不能直接的设置堆和栈。2.操作系统的堆和栈堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,分配方式类似于链表。栈(操作系统):由操作系统自动分配释放,存放函数的参数值,局部变量值等。操作方式与数据结构中的栈相类似。3.为什么JVM的内存是分布在操作系统的堆中?因为操作系统的栈是操作系统管理的,它随时会被回收,所以如果JVM放在栈中,那Java的一个null对象就很难确定会被谁回收了,那GC的存在就一点意义都莫有原创 2021-01-23 11:32:27 · 2746 阅读 · 0 评论 -
吃透Java IO:字节流、字符流、缓冲流
IO流是Java中的一个重要的构成部分,也是我们经常打交道的。下面几个问题:Java IO 流有什么特点? Java IO 流分为几种类型? 字节流和字符流的关系与区别? 缓冲流的效率一定高吗? 缓冲流体现了Java 中哪种设计模式思想? 为什么要实现序列化?如何实现序列化? 序列化数据后,再次修改类文件,读数据会出问题,如何解决呢?1.初始 Java IOIO,即 in 和 out,也就是输入和输出,指应用程序和外部设备之间的数据传递,常见的外部设备包括文件、管道、网络连接。原创 2021-01-23 11:30:35 · 2366 阅读 · 3 评论 -
安装jdk-6u14-windows-i586
一.安装jdk-6u14-windows-i586 1. 双击jdk-6u14-windows-i586.exe 2. 选择“接受” 3. 自己选择各个配置路径,4个都要自己设置(选中后点击“更改”,然后确定) 4. 配置路径设置好后,点击“下一步”5. 最后点击完成 二.构建JSE原创 2011-12-29 14:02:27 · 5800 阅读 · 1 评论