自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 异步任务模板

异步任务模板

2022-03-23 11:58:51 700

原创 JVM 方法内联 逃逸分析

编译器优化技术

2022-03-22 17:52:45 758 1

原创 根据ServerSocket实现Http的RPC

服务端:绑定端口,启动服务监听,请求是啥,响应一些啥?/** * @author x y * @description TODO * @date 2022-01-18 10:11 */public class AcceptServer { ServerSocket serverSocket; IHandlerFunction iHandlerFunction; public AcceptServer(IHandlerFunction iHandlerFunction

2022-03-16 14:36:23 380

原创 模拟NettyGroupEvent

以下图则是Netty模型,一个BoosGroup,一个WorkerGroup。而BoosGroup负责轮询Accept事件,并处理建立链接的Channel将其注册到WorkerGroup的selector中,并且同步处理TaskQueue队列任务。服务端代码:启动服务端/** * @author x y * @description TODO * @date 2022-03-08 9:23 */public class MainThread { public stat...

2022-03-16 14:29:50 3687

原创 最最最最入门的netty

package com.yw.netty;import io.netty.buffer.ByteBuf;import io.netty.buffer.PooledByteBufAllocator;import io.netty.buffer.UnpooledByteBufAllocator;import io.netty.channel.*;import io.netty.channel.nio.NioEventLoopGroup;import io.netty.channel.socket.

2022-03-16 14:08:37 600

原创 高效可伸缩的结果缓存

package com.yw.cache;import javax.annotation.concurrent.GuardedBy;import java.math.BigInteger;import java.util.HashMap;import java.util.Map;import java.util.concurrent.*;import java.util.concurrent.locks.ReentrantLock;/** * @author x y * @desc.

2022-03-16 14:06:16 402

原创 基于netty的RPC(模拟实现远程服务调用)

package rpc;import io.netty.channel.socket.nio.NioSocketChannel;import org.junit.Test;import java.io.ByteArrayOutputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.lang.reflect.InvocationHandler;import java.lang.r.

2022-03-15 23:00:39 720

原创 HTTP utils

package com.yw.common.util;import com.alibaba.fastjson.JSONObject;import com.google.common.collect.Maps;import org.apache.http.HttpEntity;import org.apache.http.HttpEntityEnclosingRequest;import org.apache.http.HttpRequest;import org.apache.http.Na.

2022-01-17 11:11:19 1576

原创 ThreadPoolExecutor源码解释

直接上图 private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); // ctl中有两个值第一个为线程个数,第二个为线程池状态 private static final int COUNT_BITS = Integer.SIZE - 3; //线程个数29位也就是2^29次方 private static final int CAPACITY = (1 <&lt

2022-01-14 17:03:30 148

原创 日期工具类

日期工具类

2022-01-14 09:34:56 197

原创 今日内容之SpringDataJpa

首先声明,在两个数据库中(Oracle叫做模式)存在相同的数据库表名,内容不管首先我们来看看遇到的第一个问题: spring.datasource.url作用是什么,那么指定数据库名称(oracle叫模式名)与不指定有什么区别? 首先回答第一个问题:url其作用就是用来进行数据库链接。 OK 现在回答第二个问题:第二个问题需要进行区分数据库类别,首...

2021-10-21 16:37:10 135

原创 每日一篇JVM 之 生存还是死亡

1.生存还是死亡通过可达性分析算法标记的不可达对象,也不是“非死不可”的。他是一个被标记的“缓刑”阶段,如果真正宣告一个对象死亡最少需要经历两次标记。当对象在进行可达性分析发现并没有与GC Roots相链接的引用链,那么他会被标记一次,随后进行一次筛选,筛选条件就是当前对象有没有重写finalize方法。如果该对象没有重写finalize方法或者虚拟机已经调用过这个方法则该对象会被视为“没有必要执行”。 当这个对象重写了finalize方法,则该对象会被放置在一个名为F...

2021-10-14 16:54:08 95

原创 每日一篇JVM之垃圾回收集

1.对象已死在堆中存放着所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是要确定哪些对象还活着,哪些以及“死去”。2.计数算法何为引用算法?在对象中添加一个引用计数器,当有一个地方引用当前对象,计数器值加1,当引用失效的时候计数器值减1;当计数器值为零的时候对象则就是不会被使用。3.可达性分析算法当前主流的程序语言的内存管理子系统都是通过可达性分析算法来判断对象是否存活。这个算法思路就是通过一系列称为“GC Roots”的根对象作为起始节点,根据这个起始节点的引用关系向

2021-10-13 16:12:46 45

原创 每日一片JVM之new关键字操作

1.对象的创建java虚拟机遇到new指令的时候,首先会检查这个指令的参数是否能在常量池中定位到一个类符号的引用。并且检查当前了是否被加载,解析,初始化。如果没有,必须首先执行类加载过程。类加载检查通过之后,虚拟机会给新生的对象进行分配内存。而对象所需内存大小是在类加载的时候可以确定的。假设java堆中内存是绝对规整的,所有被使用的内存都被放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指示器。所分配的内存就仅仅吧指针向空闲的那一部分挪动一段大小相等的距离,这种分配方式称为“指针碰撞

2021-10-12 17:45:53 296

原创 聊聊JVM自动内存管理 之运行时数据区域

1.JVM运行时数据区域以下区域都拥有各自的用途,创建以及销毁的时间,有的区域会随着虚拟机启动而一直存在,有的是依赖用户线程的启动和结束而建立和销毁。2. 程序计数器程序计数器根据字面意思觉得类似于java中的++运算,其实不是。jvm虚拟机中的程序计数器是所执行字节码的行号指示器。字节码解释器就是根据这个计数器的值来取下一条需要执行的字节码质量,来控制程序的流程,分之,循环,跳转,异常处理等基础功能。切记程序计数器是线程私有的,每一条线程都有独立的程序计数器他们互不...

2021-10-11 17:50:47 73

原创 酒店客房管理系统JAVA-SSM-MYSQL

登录界面业务操作界面客户操作页面管理员操作页面系统开发环境本系统的开发环境主要是IntelliJ IDEA、JDK1.8、Tomcat7.0.106以及MySQL。其中IntelliJ IDEA是开发工具,所有代码的编写,测试都在此完成。JDK1.8是系统的开发以及运行环境。Tomcat7.0.106则是服务器,它主要用于系统的部署。CSS、JavaScript、Ajax用于前端页面的制作。Spring、SpringMVC、Mybatic作为三层架构与视图层持久层进行数据

2021-07-11 12:48:10 2049 5

原创 SpringBoot与Jna

JnaJna(Java Native Access)框架是一个开源的java框架,其公司SUN主导开发,是一个建立在Jni基础上的开源框架。JNA开源地址:https://jna.dev.java.net/

2021-06-21 14:18:59 2177

基于redis的分布式锁

redis的分布式锁

2022-07-04

springcloud资料文件

springcloud资料文件

2022-05-17

基于JSP的酒店客房管理系统的设计与实现_.zip

本系统采用B/S架构,前端页面主要使用技术是Layui框架和jQuery技术,后端使用SSM框架和MVC设计思想以及MySQL8.0数据库技术,使得该系统能够更加灵活的进行数据操作提高效率。该文章对系统的实现做了全面的分析,介绍了该系统所使用的技术,描述了系统的项目需求,提出项目的总体设计方案,详细描述系统的功能实现,以及测试遇到的问题

2021-07-11

空空如也

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

TA关注的人

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