自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 SQL进阶_3

null 在sql 中的作用

2022-08-26 21:17:41 333 1

原创 SQL进阶_2

sql 子查询,自连接

2022-08-21 11:58:35 921

原创 SQL进阶_1

CASE 表达式

2022-08-13 19:45:19 766

原创 oracle在linux中的漏洞包p13390677_112040_Linux-x86-64_1of7

linux中安装oracle漏洞补偿包

2022-06-09 12:29:42 573

原创 Redis 常用命令使用

默认16个数据库,类似数组下标从零开始,初始默认使用零号库redis 整体命令127.0.0.1:6379> select 0 # 使用0 号数据库OK127.0.0.1:6379> keys * # 查看当前数据库中所有键的集合(empty array) 127.0.0.1:6379> dbsize # 查看当前数据库的key的数量(integer) 0127.0.0.1:6379> flushall

2022-04-07 09:39:28 344

原创 Spring

2022-01-29 17:30:27 624

原创 深入理解Synchronized

Synchronized是JVM提供的一个关键字,Lock本质是一个类。虽说两者都保证了线程同步,但在具体实现上面却有很大的差异。与Synchronized相关的是对象的内存存储布局。(Mark Word 不包含对象头中的类型指针)下图:与Synchronized密切相关的只有对象头中锁状态这一字段。锁的标志位及含义好吧,到这你听起来感觉很无聊,甚至想要放弃,那我们接下来做点有意思的,带你深入了解下Synchronized。导入jar包 <depe..

2021-12-08 21:30:55 173

原创 用Netty制作的RPC框架

服务器端package com.zhao.server;import com.zhao.protocol.MessageCodecSharable;import com.zhao.protocol.ProcotolFrameDecoder;import com.zhao.server.handler.RpcRequestMessageHandler;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.Chann

2021-12-03 16:39:10 902

原创 对聊天室的优化&常用参数配置

优化处1 —— 编码和解码编码解码用的是JDK,对象与数组的转换。这种虽然简单,但是效率不高,现在需要支持更多的序列化算法,就需要改进。抽取一个接口 Serializer,用以支持 序列化和反序列化package com.zhao.protocol;/** * 用于扩展序列化、反序列化算法 */public interface Serializer { // 反序列化方法 <T> T deserialize(Class<T> clazz,..

2021-11-27 16:11:29 401 3

原创 Netty制作的聊天室

客户端package com.zhao.client;import com.zhao.message.LoginRequestMessage;import com.zhao.protocol.MessageCodecSharable;import com.zhao.protocol.ProcotolFrameDecoder;import io.netty.bootstrap.Bootstrap;import io.netty.channel.Channel;import io.netty

2021-11-23 21:42:09 639

原创 Netty进阶

Netty中的黏包和半包黏包服务器端package com.zhao.advance;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.

2021-11-18 14:21:38 215

原创 Netty入门

服务端package com.zhao.netty.c1;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.ChannelInboundHandlerAdapter;import io.netty.channel.ChannelInitializer;import io.netty.channel.nio.NioEve

2021-11-09 18:41:46 288

原创 多线程改进Selector

前面的代码在服务器端都是单线程配合一个 Selector 选择器来管理多个 channel 上的事件这样有两个缺点现在都是多核CPU,一个线程只能用一个核心,其他的核心会白白浪费 单线程是可以处理多个事件,但是如果某个事件耗时较长,就会造成其他事件的等待如果让你设计一种较为合理的架构,你会怎样设计呢?首先一点要把多核CPU 充分利用起来,第二就是每个线程对应自己的职责,例如,店小二负责接待,厨师负责炒菜,服务员负责记录菜单代码实现服务器package com.zhao.c.

2021-11-03 16:11:53 393

原创 当Netty变成凶残练习曲

Test:package com.zhao.io;import java.io.FileInputStream;import java.io.IOException;public class FileInputStreamDemo01 { public static void main(String[] args) throws IOException { // hello.txt 内容:返回 FileInputStream fis .

2021-11-02 02:36:26 123

原创 Spring源码分析(4) —— AOP

说到 Aop不得不提的就是23种设计模式中的代理模式代理模式马上就要双十一了,天猫上面的苹果手机又要大卖,其中的中间商又要赚差价!以上的三句话,就是简单的代理模式。Java中的代理模式,分为静态代理和动态代理静态代理创建一个代理类对目标类中的方法进行增强接口类,不管要不要,先创建一个接口(Spring源码分析 1 中有讲解过)package com.zhao.aop.staticProxy.Interfaces;/** * @Auther: HackerZha

2021-10-23 17:26:40 334

原创 Spring源码分析(2) —— Bean的加载和初始化

Bean的加载package com.zhao; import com.zhao.Interface.PressService;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.core.io.ClassPathResource; public class

2021-10-18 01:32:44 356

原创 Spring源码分析(1) —— 从Xml的加载到解析

接口&多态我有一辆自行车,每天骑着它去上班package com.zhao.SpringIoc;public class Bike { public void go() { System.out.println("骑单车去上班"); }}package com.zhao.SpringIoc;/** * 版本1.0:帅气赵 骑单车去上班 */public class ShuaiQiZhao { private static B

2021-10-13 15:37:08 133

原创 JVM虚拟机之类加载

一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载,验证,准备,解析,初始化,使用,和卸载七个阶段,其中验证,准备,解析三个部分统称为连接。加载加载阶段Java虚拟机需要完成以下三件事:通过一个类的全限定名来获取定义此类的二进制字节流。 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口第一点和第二点不需要解释,如果不明白,用心多读几遍。这里着重

2021-09-29 20:53:58 262

原创 JVM虚拟机之类结构

Class类文件结构一个java文件要想运行,就得先编译成虚拟机可以看懂的代码,也就是class字节码文件,一个字节码文件要想运行,就得根据虚拟机指令集找到机器码指令集,而能让CPU识别的只有机器码。java文件经编译后的形成的字节码文件,有且仅由以下部分组成 魔数,次版本号,主版本号,常量池,访问标志,类索引父类索引与接口索引集合,字段表集合,方法表集合,属性表集合下边以HelloWorld程序为例依次讲解...

2021-09-25 15:17:31 133

原创 JVM虚拟机之GC

GCGC的诞生时期,1960年诞生于麻省理工学院的Lisp语言。为什么需要GC,因为当时内存容量最大也就几Kb。有限的内存,最乐意看到的就是这些内存都在“工作”。放在现在的公司来说,公司就相当于内存,员工就是内存中的存储信息。有的员工每天上班都在睡觉,什么价值也没有。公司就会很生气,我们这里不养闲人,于是偷懒的员工就会被辞退。另外招聘能干的新人来把他的职位补上。GC在这里边就是担任清除工作的人员。那GC如何知道谁是偷懒者呢?两种方式,一种是引用计数算法(计件支付工资),一种是可达性分析算法(

2021-09-19 16:31:25 181

原创 JVM虚拟机之内存区域

Java中一个程序的运行,离不开jvm对内存区域的严格划分,每个区域各司其职,以此保证程序的正确运行。一个程序从文件到运行的流程图其中JVM中内存区域可以分为5大类。程序计数器,虚拟机栈,堆,方法区,本地方法栈。下面会依次讲解每个区域的作用。程序计数器作用:记住下一条指令的执行地址特点:线程私有存放位置:寄存器(速度极快)是否存在内存溢出:不会,而且是唯一一个不会内存溢出的区域(Java虚拟机规范规定)上图是程序经过编译器编译后的字节码,是一条条JVM指.

2021-09-12 00:45:51 165

原创 玩转Java多线程

进程与线程进程:是执行中的一段程序,一旦程序被载入到内存中并准备运行,它就是一个进程。进程是表示资源分配的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。举个例子,手机中的微信,支付宝,淘宝,酷狗。一旦你点开这个软件(其实就是一些代码),它就会加载到你的手机内存中运行,当加载到内存,就会开启一个进程。线程:一个进程里边每个执行任务就是一个线程。线程是进程最小的调度单位。举个例子,你打开酷狗音乐,要做什么操作?搜索音乐,当你执行搜索音乐这个任务,就会有一条线程去执行,并返回结果。

2021-09-08 11:13:29 129

原创 源码下的集合之Set & Map

HashSet底层数据结构:数组 + 链表 + 红黑树(它的底层就是HashMap)默认初始容量:0扩容:当前数组长度 * 2线程安全:不安全特点:无索引,无序,不可以重复我从源码来解释上述特点(源码略显复杂,做好心理准备!)DemoTest类 package com.zhao.demo;import java.util.HashMap;import java.util.HashSet;@SuppressWarnings({"all"})public clas

2021-08-11 16:53:29 87

原创 使用布隆过滤器解决缓存穿透

手写布隆过滤器** 过滤器代码**package com.ming.filter;import com.google.common.hash.Funnels;import com.google.common.hash.Hashing;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.dao.DataAccessException;import org.springf

2021-06-11 18:39:56 302

Oracle 11g 漏洞补丁包 p13390677_112040_Linux-x86-64下载

java文件中为 百度网盘地址 包含三个压缩包: p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip p13390677_112040_Linux-x86-64_3of7.zip , 相关下载链接:https://download.csdn.net/download/weixin_47395433/85591652

2022-06-09

mysql高级教程笔记,索引,数据结构,引擎

mysql高级教程笔记,索引,数据结构,引擎

2022-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除