自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (18)
  • 收藏
  • 关注

原创 jetcache参考文档

JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。当前有四个实现,RedisCacheTairCache(此部分未在github开源)、(in memory)和一个简易的(in memory),要添加新的实现也是非常简单的。通过统一的API访问Cache系统。

2023-05-25 14:13:20 1422

原创 SQL范式

构造数据库必须遵循一定的规则,在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有6种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以此类推。一般说来,数据库只需满足第三范式(3NF)就可以了。

2022-11-02 22:04:40 599

原创 001_printf

printf(“输出控制符”,输出参数)#include <stdio.h>int main(void){ int i =10; printf("%d\n",i); return 0;}常用的输出控制符%d:按十进制整型数据的实际长度输出。%ld:输出长整型数据。%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。%u:输出无符号整型(unsigned)。输出无符号整型时也可以用%d,这时是将无符号转换成有符号数,然后输出

2022-05-06 22:45:20 361

原创 IDEA创建maven各种原型项目汇总

IDEA创建maven各种原型项目汇总1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的We

2022-05-01 16:37:17 330

原创 RocketMQ_001_消息发送流程

前提条件1、NameServer已启动。各个NameServer无状态,无通信。2、broker已启动。3、broker启动时,加载$HOME/store/config/topics.json里的信息,定时注册到3个NameServer里。{ "dataVersion":{ "counter":3, "timestamp":1647074381689 }, "topicConfigTable":{ "SCHEDULE_TOPIC_XXXX":{ "order":false,

2022-03-13 13:19:40 2495

原创 swagger的使用

与SpringBoot集成1、maven依赖<dependencies> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> &

2021-08-20 10:40:19 142

原创 字节码

看得懂字节码在一些地方还是挺有用的。下面学习一些基础结构类型的字节码。栈架构JVM是基于栈机构设计的,每个方法都会创建一个栈帧。栈帧中最重要的是局部变量表和栈。各种操作都是围绕局部变量表和栈进行的。for循环public class Test02 { void spin(){ int i; for(i =0;i<100;i++){ ; } }}public class com.sss.jvm.byte

2020-08-02 22:09:09 201

原创 class文件解析示例

class文件的格式等理论概念网上很多,不再赘述,下面是针对一个class文件实例进行”翻译“。源文件package com.sss.jvm.unclassified;public class SimpleUser { public static final int TYPE = 1; private int id; private String name; public int getId(){ return id; } publ

2020-07-26 20:34:29 318

原创 Integer

从一个Integer的疑问响到的private void m3(){ Integer i = 1; m4(i); System.out.println(i);}private void m4(Integer i){ i++;}public static void main(String[] args) { Test1 t1 = new Test1(); t1.m3();}输出是1,为什么m4方法中没有能改变i的值?看似很简单,却包含了很多

2020-07-24 22:13:05 140

原创 Spring Boot_01

常用注解常用注解1、@RestController和@RequestMapping是Spring MVC的注解,不是Spring Boot特有的。2、@RestController = @Controller + @ResponseBody3、@SpringBootApplication = @SpringBootConfiguration + @EnableAutoConfigurati...

2020-03-25 18:08:05 151

原创 异步回调

概述Netty作为一个优秀的异步的事件驱动的框架,实现了一个功能强大的异步回调结构模型。下面对比看下不同技术对于同一个需求处理的结果。以烧水泡茶需求为例,烧水和清洗水壶水杯2个线程是可以同时做的。方式一:Thread.join()public class ThreadJoin{ public static final int SLEEP_TIME = 500; sta...

2020-02-22 21:22:24 332

原创 如何编写protocol buffer文件

翻译自https://developers.google.com/protocol-buffers/docs/proto3Protobuf BufferGoogle的protobuf作为优秀的序列化技术,优越性已经得到诸多认证。本文目的是通过官方文档了解如何编写proto文件,编写好了proto文件之后,就可以通过protoc命令或者一些插件方便的生成Java、Python等语言对应的源文...

2020-02-21 11:00:21 400

原创 ByteBuf用法详解

ByteBuf from NettyByteBuf from Netty比ByteBuffer from java nio更强大,比如可以进行池化,不需要flip切换读写模式。ByteBuf内部结构如图所示:ByteBuf本质上是一个字节数组,分为了4个部分。readerIndex是读指针,每读取一个字节,readerIndex就会+1。一旦readerIndex = writerInd...

2020-02-20 18:54:22 4085

原创 Netty中的ChannelHandler解析

ChannelHandler编写Netty程序,主要业务要写在ChannelHandler处理器中。主要的类和接口如图所示:Netty中数据的流动有入站、出站2个方向。入站:数据从通道到InboundHandler。出站:数据从OutboundHandler到通道。ChannelInboundHandler的主要方法interface ChannelInboundHandler ex...

2020-02-19 19:24:11 915

原创 使用Netty的心跳检测功能

运行效果让Server端设置读空闲时间为5秒,写空间时间为7秒,读写空闲时间为13秒。源码Serverpublic class IdleServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGroup = new NioEve...

2020-02-19 14:01:48 407

原创 使用Netty开发Http服务器

运行效果源码TestServerpublic class TestServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGro...

2020-02-19 11:30:48 175

原创 使用Netty开发聊天程序实例

运行效果功能:可以运行多个Client,Server端能够监测上线下线功能。Client可以收到其他Client消息。源码ChatServerpublic class ChatServer { public static void main(String[] args) throws InterruptedException { EventLoopGroup...

2020-02-18 21:06:57 168

原创 Java NIO实例:群聊系统

功能概述用NIO实现的一个群聊系统。服务器端可以监测用户上线、离线、并实现消息转发功能。客户端通过Channel可以发送消息给其他用户,同时可以接收来自服务器转发的其他用户的消息。运行效果源码Serverpublic class GroupChatServer { //定义属性 private Selector selector; private Serve...

2020-02-18 17:33:23 1146

原创 Java NIO实例:回显服务

NIO概述NIO是JDK 1.4开始引入的。弥补了旧的IO的不足之处。NIO的3个重要组件是缓冲区(Buffer)、通道(Channel)、选择器(Selector)。Buffer使得可以更加灵活的读/写字节流。Channel将之前的单向的输入/输出流整合在一起,既可以读,也可以写。Selector可以监听多个Channel,一个线程就可以应付成千上万的Client连接,轮询得到就绪的事...

2020-02-18 16:28:48 235

原创 Java UDP广播搜索局域网好友示例

概述网络数据传播有单播、多播、广播几种形式。大部分的多播数据为音频或者视频,因为允许部分丢失,但是传输速度比TPCP快。C类广播地址一般为XXX.XXX.XXX.255。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段...

2020-02-16 19:32:31 624

原创 Java Socket的几种通信示例(UDP)

UDP简介java.net.ServerSocket和java.net.Socket是建立在TCP协议基础上。TCP协议传输可靠,但是速度没有UDP快。UDP的缺点是不可靠,无法保证数据一定能够到达目的地,和目标接收数据包的顺序。UDP适合传输视频、音频。而TCP适合可靠的协议应用,比如FTP、HTTP。UDP在java中的api主要是java.util.DatagramSocket类。每...

2020-02-16 14:45:30 308

原创 Java Socket的几种通信示例(TCP)

功能介绍可以运行多个client,client连接,Server打印连接信息。client控制台发送消息给Server,Server打印收到的消息,并回送收到的消息长度。client发送bye,断开连接。运行效果:Server源码import java.io.BufferedReader;import java.io.IOException;import java.io.In...

2020-02-16 12:01:46 479

原创 FileChannel主要方法的使用

FileChannel介绍FileChannel类是Channel接口的主要实现类,Channel是NIO的重要组件之一。FileChannel类的主要作用是读取、写入、映射、操作文件。writepublic abstract int write(ByteBuffer src) throws IOException;FileChannel内部维护了一个当前文件的position,可以查...

2020-02-16 10:58:01 1656

原创 ByteBuffer之equals和compareTo比较

ByteBuffer介绍ByteBuffer是Java NIO的重要组成部分。如何比较2个ByteBuffer是否相等可以使用equals()、compareTo()两个方法。equals()源码分析public boolean equals(Object ob) { if (this == ob) return true; if (!(ob instanc...

2020-02-15 21:34:12 780

原创 使用not in要注意null

现象要查询dept表里(deptno不在new_dept里)的记录:原因原因就在于new_dept表里有null值。in和not in本质上是or运算,or运算一旦有null参与,会产生不同的效果。select deptno from dept where deptno in (10,50,null);等价于select deptno from dept where (deptn...

2020-02-14 12:15:06 306

原创 模拟MyBatis插件的执行过程

MyBatis插件插件概述MyBatis允许用户自定义拦截器允许拦截:Executor类里的update() query() commit()等方法ParameterHanlder类里的getParameterObject() setParameters()等方法ResultSetHandler类里的handleResultSets()、handleOutputParameters()...

2020-02-12 20:13:50 207

原创 Thread类的基本使用

进程和线程进程是程序向OS申请内存、文件句柄等资源的基本单位。线程是进程中可独立执行的最小单位。一个进程可以包含多个线程。一个进程中的所有线程共享该进程中的资源。Java中线程的使用使用方式:1、继承Thread类。2、implements Runnable3、implements Callable@Slf4jpublic class ThreadWay3 implements...

2020-02-12 14:38:26 430

原创 状态模式

定义状态模式运行对象在内部状态改变时,改变它的行为,对象看起来好像修改了它的类。UML特点状态模式和策略模式是双胞胎,出生时才分开。策略模式的算法彼此可以互相替换。状态模式通过改变自身对象内部的状态帮助对象控制自己的行为。状态模式的本质是根据状态分离和选择行为。状态模式会导致类的数目增加。示例对于一个自动售卖糖果的售卖机存在以下的状态图:如果用面向对象的普通解决方法就是为...

2020-02-12 14:06:35 199

原创 观察者模式

定义观察者模式定义了对象之间的一对多依赖,这样一来,一个对象改变状态时,它的所有依赖着都会收到通知并更新。UML/** * 目标对象,它知道观察它的观察者,并提供注册和删除观察者的接口 */public abstract class Subject { /** * 用来保存注册的观察者对象 */ protected List<Observer> observe...

2020-02-12 10:43:17 141

原创 策略模式

定义定义一系列的算法,把它们一个个封装起来,彼此可以互相替换。UMLpublic interface Strategy { void algorithmInterface();}class ConcreteStrategyA implements Strategy{ @Override public void algorithmInterface() { ...

2020-02-11 20:36:34 154

原创 命令模式

定义将一个请求封装成一个对象,从而可以用不同的请求对客户参数化,对请求排队或记录请求日志,以及支持可撤销的操作。UMLpublic interface Command { /** * 执行命令具体的操作 */ void execute();}/** * 具体的命令实现对象 */class ConcreteCommand implements C...

2020-02-11 20:02:43 149

原创 模板方法模式

定义定义一个操作中的算法的骨架,将一些步骤延迟到子类。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。UMLpublic abstract class AbstractClass { //基本方法 protected abstract void doSomething(); //基本方法 protected abstract void...

2020-02-11 16:25:57 112

原创 代理模式

定义为其他对象提供一个代理,以控制对这个对象的访问。UMLpublic interface Subject { public void request();}class RealSubject implements Subject{ @Override public void request() { System.out.println("具体的...

2020-02-11 14:48:12 153

原创 享元模式

定义运用共享技术有效的支持大量细粒度的对象。UML/** * Flyweight接口使共享称为可能,但不强制共享,所有有2种实现类。 * */public interface Flyweight { /** * 示例操作:传入外部状态 * @param extrinsicState */ public void operation(String extrinsic...

2020-02-11 14:17:32 111

原创 组合模式

定义将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象、组合对象的操作使用保持一致。UMLabstract class Component { abstract void someOperation(); void addChild(Component child){ throw new UnsupportedOperationEx...

2020-02-10 17:18:04 100

原创 装饰者模式

定义动态的给一个对象添加一些额外的职责。比用继承生成子类更灵活。不改变原有对象的基础上,将功能附加到对象上。比继承更有弹性。适用场景动态的增加/撤销一个类的功能。优缺点是继承的有力补充,比继承灵活,不改变原有对象,同时扩展功能。通过适用不同装饰类以及这些装饰类的排列组合,可以实现不同的效果。但是会出现更多的代码、类。多层装饰时,会更复杂。UMLpublic abstract ...

2020-02-10 15:35:11 119

原创 桥接模式

业务场景(待改造)/** * 消息统一接口 */public interface Message { /** * 发送消息 * @param msg */ void send(String msg);}/** * 站内短消息的方式发送消息 */class CommonMessageSMS implements Message{ ...

2020-02-09 21:20:04 220

原创 工厂方法模式

业务场景和简单工厂有点相似。https://blog.csdn.net/smith789/article/details/104236252/** * 课程抽象类 */public abstract class Course {}@Data@AllArgsConstructor/** * 普通课 */class NormalCourse extends Course...

2020-02-09 18:00:31 130

原创 外观模式

业务场景教师若想开设一门新课,需要经过以下步骤:1、填写申请表系里审查。2、院长审核。3、教务处审批。public class Teacher { public static void main(String[] args) { Course course = new Course("商务英语"); new Department().audit(c...

2020-02-09 17:09:56 138

原创 简单工厂模式

业务场景现有代码结构:@Data@AllArgsConstructor(access = AccessLevel.PUBLIC)@NoArgsConstructor/** * 普通课程 */public class Course { /** * 课程名称 */ private String courseName;}@Data@AllAr...

2020-02-09 15:51:54 120

人月神话中文版和英文版

人月神话中文版和英文版pdf电子书,带书签,值得一看。

2018-11-03

XlsToOracle软件

xls导入到Oracle很好的软件。比plsql自带的文本导入好用。

2013-04-19

Java案例开发集锦第二版源代码

Java案例开发集锦第二版源代码

2013-03-10

ext-4.0.7-gpl.zip

最新的压缩包 JavaScript Framework for Rich Apps in Every Browser

2011-10-25

spket-1.6.18破解版.zip

spket-1.6.18破解版.zip features和plugins两个文件夹

2011-10-25

ext-4.0.0.jsb2

ExtJs4.0版本并没有ext.jsb的文件。 下载ext-4.0.0.jsb文件,放到src文件夹里。 (注:这里一定要放对,不然也是不会自动提示)

2011-10-25

Jquery EasyUI学习资料集合

包含三部分: jQuery EasyUI 1.2 API文档.CHM jQuery-easyui-docs.chm jqueryeasyui中文培训文档.doc

2011-10-21

JSP项目开发全程实录(完整源代码)

JSP项目开发全程实录一书的源代码. 第1章 都市供求信息网   第2章 图书馆管理系统   第3章 企业电子商城   第4章 企业快信——短信+邮件   第5章 企业人力资源管理系统   第6章 办公自动化管理系统   第7章 物流信息网   第8章 网络在线考试系统   第9章 编程体验BBS——论坛系统   第10章 博客网   第11章 聊天室系统   第12章 在线音乐吧

2011-08-18

基于C/S架构考试系统(Java)

运行前先看说明,文件列表: 123.txt 804 18-12-05|13:17 ChoiceFile.class 2916 18-12-05|13:06 ChoiceFile.java 2721 09-12-03|09:12 Client$1.class 474 31-03-09|15:07 Client.class 4315 31-03-09|15:07 Client.java 3834 09-12-03|09:10 ClientTestArea.class 5216 18-12-05|13:06 ClientTestArea.java 6260 09-12-03|09:12 FileName.class 640 31-03-09|15:06 ReadTestquestion.class 3058 18-12-05|13:06 ReadTestquestion.java 3853 21-12-03|23:02 Server.class 1036 31-03-09|15:06 Server.java 4303 09-12-03|09:05 Server_thread.class 2922 31-03-09|15:06 说明.doc 52224 31-03-09|15:04 cs结构的考试系统 0 31-03-09|16:52

2011-04-18

Microsoft SQL Server JDBC Driver 3.0

版本:3.0.1301.101发布日期:2010/4/20 这是一个 Type 4 JDBC 驱动程序,它通过 Java Platform Enterprise Edition 5 及更高版本中可用的标准 JDBC 应用程序编程接口 (API) 提供数据库连接。 JDBC 驱动程序的这一发行版与 JDBC 4.0 兼容,并在 Java 开发工具包 (JDK) 版本 5.0 或更高版本上运行。

2011-03-01

Microsoft SQL Server JDBC Driver 2.0

版本:2.0发布日期:2009/4/3 此版本的 JDBC 驱动程序与 JDBC 4.0 兼容,并在 Java 开发工具包 (JDK) 5.0 版或更高版本上运行。它已针对所有主要应用程序服务器(包括 BEA WebLogic、IBM WebSphere 和 JBoss)进行了测试。

2011-03-01

C++程序设计_谭浩强.part3.rar

作者:谭浩强 出版社:清华大学出版社 ISBN:7-302-08599-4/TP.6159 第一章 C++的初步知识 第二章 数据类型与表达式 第三章 程序设计初步 第四章 函数与预处理 第五章 数组 第六章 指针 第七章 自定义数据类型 第八章 类和对象 第九章 关于类和对象的进一步讨论 第十章 运算符重载 第十一章 继承与派生 第十二章 多态性与虚函数 第十三章 输入输出流 第十四章 C++工具 附录A、B

2010-03-30

C++程序设计_谭浩强.part2.rar

作者:谭浩强 出版社:清华大学出版社 ISBN:7-302-08599-4/TP.6159 第一章 C++的初步知识 第二章 数据类型与表达式 第三章 程序设计初步 第四章 函数与预处理 第五章 数组 第六章 指针 第七章 自定义数据类型 第八章 类和对象 第九章 关于类和对象的进一步讨论 第十章 运算符重载 第十一章 继承与派生 第十二章 多态性与虚函数 第十三章 输入输出流 第十四章 C++工具 附录A、B

2010-03-30

C++程序设计_谭浩强.part1.rar

作者:谭浩强 出版社:清华大学出版社 ISBN:7-302-08599-4/TP.6159 第一章 C++的初步知识 第二章 数据类型与表达式 第三章 程序设计初步 第四章 函数与预处理 第五章 数组 第六章 指针 第七章 自定义数据类型 第八章 类和对象 第九章 关于类和对象的进一步讨论 第十章 运算符重载 第十一章 继承与派生 第十二章 多态性与虚函数 第十三章 输入输出流 第十四章 C++工具 附录A、B

2010-03-30

实用Visual C++ 6.0教程及配套源码

作者:Jon Bates,Tim Tompkins 译者:何建辉 董方鹏 清华大学出版社 有电子书和配套源码。 本书系统的介绍了MFC应用程序的框架,比较全面的阐述了如何使用MFC库开发各类win32应用程序,并针对每一类的win32应用程序提供了相应的示例。

2010-03-05

空空如也

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

TA关注的人

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