自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DotWait的博客

talk is cheap show me the code

  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 CocosCreator3.x一起来制作FlappyBird小游戏

作为新手学习Cocos制作游戏,以此文章记录学习过程,也希望能帮助跟我一样刚入门的新手共同成长~

2024-07-13 21:24:00 1183

原创 Tomcat学习之源码模块

在Tomcat中,Connector由多个Java类组成,例如,Connector类是Connector组件的入口点,它负责处理客户端和服务器之间的通信。Coyote是Tomcat中的另一个核心组件,它是Connector组件的核心实现。Coyote是由多个Java类组成的,例如,AbstractProtocol类是Coyote的核心组件之一,它实现了处理连接请求和响应的功能。在Tomcat中,Container由多个Java类组成,例如,Engine类和Host类负责管理虚拟主机和Web应用程序。

2023-03-23 23:18:09 450

原创 Tomcat学习之运行原理

Tomat运行原理学习

2023-03-23 22:15:57 370

原创 Tomcat入门学习

Tomcat入门学习

2023-03-23 22:10:15 306

原创 代理模式

代理模式简介代理模式是一种使用率非常高的模式定义为其他对象提供一种代理以控制对此对象的访问通用类图Subject:抽象主题角色,可以是抽象类也可以是接口,定义了最普通的业务类型RealSubject:具体主题角色,也可称为被代理角色,具体业务逻辑的执行者Proxy:代理主题角色,也可称为代理类,把所有抽象主题角色定义的方法限制委托给具体主题角色实现,在RealSubject执行具体业务逻辑的前后做预处理和善后处理优点职责清晰:真实角色只关注自身的业务逻辑,不用关心其他非本职的事务

2020-09-12 13:30:16 225

原创 CGLib动态代理

CGLib动态代理一、简介CGLib(Code Generation Library)是一个高性能的字节码生成库,可以在运行期扩展Java类和接口。实现原理:利用ASM(直接操作字节码的框架)加载被代理类的class文件,修改字节码生成继承自被代理类的子类(代理类),代理类通过重写被代理类方法实现代理。限制:无法代理被final修饰的类或方法二、实现CGLib动态代理的Demo1.被代理类public class PrintService { public void print(

2020-09-12 13:23:00 834

原创 JDK动态代理

JDK动态代理一、简介JDK动态代理是使用Java内部的反射机制来实现动态代理的方式。实现原理:被代理类和代理类实现同一个接口,代理对象持有被代理对象来达到拦截方法并进行代理的作用。限制:被代理类必须实现了接口无法代理接口中未声明的方法二、 JDK动态代理Demo1. 被代理类实现的接口package com.dotwait.proxy.service;public interface UserService { void printUserInfo();}2. 实现

2020-09-12 13:21:33 183

原创 程序是怎样跑起来的

  在程序员的开发中,使用的语言基本都是类似C、Java、Python等高级编程语言,那么我们日常编写的代码是如何在计算机上跑起来的呢?今天,就让我们一起来捋一捋程序跑起来的过程。一、计算机组成​  现代计算机基本都是冯诺依曼体系,称为程序存储型计算机。主要包含了五个元素:输入(比如鼠标、键盘等)、输出(比如显示器、音响等)、存储器(比如内存、磁盘等)、运算器和控制器。其中的运算器和控制器再加...

2020-03-14 18:23:45 4634 1

原创 关于Java中HashCode的一些思考

文章目录关于Java中HashCode的一些思考1. Object类中的hashCode()方法2. 找到对应的native方法源码实现3. 测试hashCode的生成4. 总结关于Java中HashCode的一些思考最近在重写hashCode和equals方法时,突然很想知道hashCode是如何计算而来的。于是便下载了openJdk1.8的源码,结合网上一些博客学习了一下,并编写代码进行了...

2020-02-15 15:55:21 372

原创 FastDFS上传文件原理详解

文章目录FastDFS简介适用场景FastDFS架构FastDFS上传文件详细过程FastDFS上传协议FastDFS上传步骤解析1. 上传连接请求2. Tracker选择group和storage3. 返回Storage信息4. 上传文件5.选择存储路径、生成文件id并存储文件6. 上传成功,返回访问路径7. 文件同步(若storage是集群)Http访问FastDFS文件FastDFS简介...

2020-01-11 22:47:10 3385

原创 排序算法——快速排序

快速排序分析描述:快速排序,又称划分交换排序,简称快排.在平均状况下,排序n个项目要O(nlg⁡n)O(n\lg{n})O(nlgn)次比较。在最坏状况下则需要O(n2)O(n^2)O(n2)次比较,但这种状况并不常见。事实上,快速排序O(nlg⁡n)O(n\lg{n})O(nlgn)通常明显比其他算法更快,因为它的内部循环可以在大部分的架构上很有效率地达成。代码如下:/*** 快...

2019-12-08 18:58:41 262

原创 排序算法——堆排序

堆排序代码如下:public static void sortAscend(int[] array) { int heapSize = array.length; //buildMaxHeap方法见下面的堆结构分析 Heap.buildMaxHeap(array, heapSize); for (int i = array.length - 1; i > ...

2019-12-01 16:24:49 366

原创 排序算法——归并排序

归并排序代码如下:public static void mergeSortAscend(int[] array, int low, int high) { if (low < high) { int mid = (low + high) / 2; mergeSortAscend(array, low, mid); mergeSort...

2019-12-01 16:13:08 159

原创 排序算法——插入排序

插入排序代码如下:public static void sortAscend(int[] array) { for (int i = 1; i < array.length; i++) { int key = array[i]; int j = i - 1; for (; j >= 0 && key < ...

2019-12-01 16:06:04 155

原创 Shell基础学习——数学运算

Shell基础学习Shell数学运算Shell数学计算命令Shell (())的用法代码示例输出结果Shell数学运算Shell数学计算命令运算操作符/运算命令说明(( ))用于整数运算,效率很高,推荐使用。let用于整数运算,和 (()) 类似。$[]用于整数运算,不如 (()) 灵活。expr可用于整数运算,也可以处理字符串。比较麻烦,需要注...

2019-06-14 23:04:03 229

原创 Shell基础学习——内置命令

Shell基础学习Shell内置命令Bash Shell内置命令Shell内置命令Bash Shell内置命令命令说明:扩展参数列表,执行重定向操作.读取并执行指定文件中的命令(在当前 shell 环境中)alias为指定命令定义一个别名bg将作业以后台模式运行bind将键盘序列绑定到一个 readline 函数或宏break退出...

2019-06-14 22:50:16 321

原创 Shell基础学习——数组

Shell基础学习Shell数组数组的定义数组元素的获取数组长度的获取数组的拼接数组的删除代码示例输出结果Shell数组数组的定义使用()来表示数组,元素之间采用空格分隔array_name=(ele1 ele2 ele3 ... elen)数组长度不固定,且不要求所有数组元素的类型必须相同数组元素的获取获取数组中的某个元素${array_name[index]}获取数组中的...

2019-06-13 22:00:33 404

原创 Shell基础学习——字符串

Shell基础学习Shell字符串字符串的定义字符串长度的获取字符串的拼接字符串的截取代码示例输出结果Shell字符串字符串的定义str1=hellostr2='hello'str3="hello"字符串长度的获取${#string_name}字符串的拼接直接将两个字符串放在一起即可:str1=hellostr2=shellstr3=$str1$str2str4="$...

2019-06-12 22:14:35 184

原创 Shell基础学习——变量

Shell基础学习Shell变量Shell变量变量的定义(有三种方式,=号周围不能有空格):variable=valuevariable='value'variable="value"变量的使用使用一个已经定义的变量variable(有两种方式,{}可选):echo $variableecho ${variable}变量的赋值variable=valuevariable...

2019-06-11 23:11:29 193

原创 dockerfile——EXPOSE和端口映射参数-p、-P总结

**EXPOSE:**功能为暴漏容器运行时的监听端口给外部,但是EXPOSE并不会使容器访问主机的端口,如果想使得容器与主机的端口有映射关系,必须在容器启动的时候加上 -P参数。**-P:**大写P为自动映射,会将EXPOSE暴露出来的端口随机映射到宿主机的端口上,如果没有暴露端口,就不会有映射。**-p:**小写p为手动映射,需要自己指定宿主机的端口和容器的端口,形式为:-p 宿主机端口:...

2019-01-26 11:06:03 38456 4

原创 dockerfile——CMD和ENTRYPOINT总结

CMD和ENTRYPOINT主要由两种语法:(1)shell语法:CMD command param1 param2例如: CMD echo “cmd”(2)可执行文件加参数的形式CMD [“executable”,“param1”,“param2”]例如: CMD [“echo”,“cmd”]CMD和ENTRYPOINT区别之一是CMD会被docker run最后的附加的comm...

2019-01-26 10:39:35 657

原创 Kubernetes中DNS部署的问题——busybox版本导致DNS解析问题

在不适用安全机制,未使用serviceAccount的情况下,需要在kubedns-controller.yaml中指定master的 ip地址问题:DNS无法找到其他服务,实际上已经解析出了地址原因:busybox版本所致,最新版busybox的DNS解析方式有差异,选择1.28.3即解决问题...

2019-01-13 21:48:59 1271 3

原创 JSONString、JSONArray、JSONObject、JsonNode转换及遍历

JSONString、JSONArray、JSONObject、JsonNode转换及遍历代码示例:UserPassword代码示例:public class JsonToString {private Map&lt;String, Object&gt; map;private User user;public void init(int num) { map = new ...

2018-12-06 22:40:14 9985

程序员的数学1、2、3合集

此合集包含了程序员的数学1,程序员的数学2线性代数,程序员的数学3概率统计,pdf版,字体清晰。

2018-12-06

空空如也

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

TA关注的人

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