自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Java 获取时间范围差集

Java获取时间的范围差集

2023-02-17 23:12:02 546

原创 Windows下 Docker 创建FastDFS

Windows下 Docker 创建FastDFS

2023-02-04 16:31:04 896 1

原创 《恰到好处的恋爱》经典语录

本书是著名情感教练、婚姻家庭咨询师、心灵智慧婚恋培训机构创始人赵永久的最新著作,它是在赵永久的畅销书《积极恋爱心理学》的基础上的大幅修订的升级版。这本书帮助在婚恋过程中遇到困惑,或者苦苦追寻却总是一无所获的朋友。

2022-09-18 22:38:58 555

原创 Java 文件NIO 中,为什么NIO比IO快?

Java 文件NIO 中,为什么NIO比IO快?

2022-09-05 22:39:25 489

原创 Peterson解法

当你自行搜索到这篇文章的时候,想必已经对进程间通信有了一定的了解,如果不太了解也没关系,我会简单讲解下关于进程间通信的相关内容。我们想要把信息从一个进程传递到另一个进程,无非是使用公共的存储区,有可能是在内存中,也有可能是一个共享文件,这就是进程间通信。但是有个问题,因为中断的原因,可能进程1读取到公共内存的的时候,切换到了进程2,进程2中对公共内存进行了修改,当进程2运行一段时间切换到进程1的时候,进程1的数据已经算是旧数据了,但进程1并不知道,仍然使用旧数据进行操作,当进程1操作完写回到公共内存时,

2021-01-01 20:22:48 889

原创 操作系统——内存(思维导图)

https://www.processon.com/view/link/5fd483481e085306e0f2959b

2020-12-12 21:58:41 214

原创 Java基础 — 多态

订单

2020-08-27 23:56:49 147

原创 手写Java虚拟机(七)——方法调用与返回

大家也不用找四、五、六了,都在这一起写了,因为这几张单独写个博客感觉没意思,在我看完《自己动手写Java虚拟机》第七章并且实现之后,才能把这前几个章节给串起来。先给大家讲个概要吧,因为可能本文会比较长。本文讲的到的有以下几点:一、JVM内存结构概述二、JVM线程共享区域、方法区详细描述三、字节码指令调用过程四、方法调用过程...

2020-05-07 23:37:46 293

原创 HttpClient超时重发不生效

业务需要,远程调用的接口等待时间太长,所以增加了超时重发机制使用的是默认的DefaultHttpRequestRetryHandler类,但是发现并没有重发,只是超时,于是在官网上查资料于是使用官网上的例子,但是仍然没有用,这个时候看到官网例子中,对于部分异常会进行return操作,于是点开了SocketTimeoutException超时异常果然,这个异常是被...

2020-04-20 23:38:58 891

原创 Quartz修改JobDetail

可以调用org.quartz.Scheduler.add(JobDetail,boolean)方法添加一个JobDetail,不过需要注意的是,这个方法并没有绑定触发器Tigger所以在使用的时候需要在创建JobDetail方法中,添加属性,对Jobdetail持久化。.storeDurably(true)否则会报"Jobs added with no trigger must...

2020-04-16 23:47:22 2482

原创 手写Java虚拟机(三)—— 解析class类文件

唔。。在解析前,先给大家介绍下Class类文件结构吧。Class文件格式采用的是一种类似C语言结构体的伪结构来存储数据,这种伪结构中只有两种类型:无符号数和表。无符号数属于基本的数据类型,用u1,u2,u4,u8来代表1个字节,2个字节,4个字节,8个字节的无符号数,可以用来描述数字、索引、数量值等。表是由多个无符号数或者其他表作为数据构成的复合数据类型,所有表都习惯性以“_infor...

2020-01-05 16:48:44 253

原创 手写Java虚拟机(一)—— Java命令行工具

这个Java命令行工具是个什么意思呢?其实就是在cmd里面输入java -version,然后会给你返回结果,这样一个东西我们接下来就是要实现这样一个的类似功能,用Java实现,也就是,在cmd输入myjava -version,输出一些东西。当然,这个我不当做重点,只是简单实现,我把重点放在JVM内存结构那几块。首先我们来分析下,java -version,有哪些动作一:...

2019-12-01 00:02:05 491

原创 图的深度优先遍历、广度优先遍历

这个题目是我在《啊哈!算法》中看到的,题目如下:深度优先遍历:思路如下:首先,当地图二维数组e[x][y]的x = 5 的时候,说明已经到达5号城市,可以return了,所以,这个递归的终止条件伪代码如下: /* * 递归终止条件,x=5 * 终止时,判断路径总和是否小于最小路径总和 * */ ...

2019-11-19 00:22:16 211

原创 递归解决全排列问题

这个题目是我在《啊哈!算法》中看到的,题目如下:终极问题就是: 输入一个指定点的数 N 输出1到N的全排列, 又该如何呢? 例如:输入 3 时输出 123 的全排列, 输入 4 时输出 1234 的全排歹…… 输入 9 时输出 123456789 的全排列。看到这个题目的时候,想了半小时我都还在想,这该怎么写?先用一个数组,把需要排列的数存起来,比如N = 3,那么,数组就是{1,...

2019-10-23 00:13:47 592

原创 什么是事务的一致性?一致性和原子性的区别是什么?

关于事务的一致性,《数据库系统概念》中是这样描述的第二段说的三个特性是指原子性、隔离性、持久性。就算这样,相信大家也是懵懵的,我也是,所以才会写下这篇博客。看到别的博客说,一致性是事务的最终目的,原子性、隔离性、持久性都是为了实现一致性。在这里,我打算验证一番。怎么验证呢?假设,这个事务系统如果是由我们来设计的话。首先,场景是这样的,小范转100块钱给小黄,那么这个...

2019-09-17 15:35:39 32094 11

原创 mysql 分布式事务、分布式锁

上周近年来第一次面试,结果被事务虐的体无完肤(当然,不仅仅是事务),所以决定恶补一下事务知识。一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。  ...

2019-08-22 15:33:05 839

原创 算法 - 插入排序

通常人们整理桥牌的方法是一张一张的来,将每一张牌插入到其他已经有序的牌中的适当位置。在计算机的实现中,为了给要插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。这种算法叫做插入排序。插入排序所需的时间取决于输入中元素的初始顺序。以下是实现代码:public class Insertion{ static int compareCount = 0; ...

2019-07-31 00:01:35 99

原创 负载均衡算法WeightedRoundRobin(加权轮询)简介及实现

文章转载自https://www.cnblogs.com/markcd/p/8456870.html,只有代码是自己实现的,其他全是转载。Nginx的负载均衡默认算法是加权轮询算法,本文简单介绍算法的逻辑,并给出算法的Java实现版本。 本文参考了Nginx的负载均衡 - 加权轮询 (Weighted Round Robin)。 算法简介 ...

2019-07-19 00:23:03 2271

原创 JVM字节码指令之对象创建和操作

在 Java 中 new 是一个关键字,在字节码中也有一个指令 new。当我们创建一个对象时,背后发生了哪些事情呢?ScoreCalculator calculator = new ScoreCalculator();对应的字节码如下:0: new #2 // class ScoreCalculator3: dup4: in...

2019-07-05 00:33:09 2025

原创 计算机基础之原码、反码、补码

相信大家应该或多或少的都了解过原码、反码、补码吧。原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。反码:正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反。补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1。————————...

2019-06-20 00:30:18 319

原创 计算机基础之位运算、以及位运算实现加减乘除

众所周知,由于电路的复杂性因素,电脑中都使用二进制数,只有0和1两个数码,逢二进一,最容易用电路来表达,比如0代表电路不通,1代表电路通畅。那么,什么是二进制呢?比如说我们所熟悉的十进制,通俗的说是由0,1,2,3,4,5,6,7,8,9这十个数字组成,如果比9再大一个数,就会进一位,高位加一,低位重置,也就是10。再比如八进制,是由0,1,2,3,4,5,6,7这八个数组成,逢八进一,比...

2019-06-17 22:44:05 1624

原创 JVM运行时内存

Java虚拟机定义了在程序执行期间使用的各种运行时数据区域。其中一些数据区域是在Java虚拟机启动时创建的,仅在Java虚拟机退出时销毁。其他数据区域是属于每个线程,线程数据区域是在线程退出时创建和销毁线程时创建的。1.程序计数器Java虚拟机可以同时支持许多执行线程。每个Java虚拟机线程都有自己的pc(程序计数器)寄存器。在任何时候,每个Java虚拟机线程都在执行单个方法的代码,即该...

2019-06-13 00:54:22 113

原创 手写简单版Tomcat(三)——解析servlet

到目前为止,我们手写的tomcat已经具备了基本的读取静态资源文件、读取web.xml文件来进行配置的功能,接下来就是对servlet的解析。<web-app> <welcome-file-list> <welcome-file>../index.html</welcome-file> &l...

2019-04-08 23:07:06 198

原创 Mysql按月分表实现

分表策略参考自https://blog.csdn.net/rongwenbin/article/details/40341965,本文写的是对该策略的实现,/* 用于按日期分表,先将 原表 修改表名为 表名+日期,复制修改后的表 为原表名 */delimiter // CREATE PROCEDURE copytable (var VARCHAR(20))BEGINSET @pd...

2019-03-30 14:43:13 7426 2

原创 iReport实现金额大写

博客参考自:https://blog.csdn.net/qq_41687459/article/details/803510621、工具--选项--ClassPath--Add Folder ,加入TransChineseMoneyScriptlet.class(脚本程序)所在项目的class文件的classes路径,如C:\workspaces\privilege\target\classe...

2019-03-19 23:21:29 2098 1

原创 手写简单版Tomcat(二)——XML解析配置

上节写到读取静态文件,接下来仿一个读取web.xml配置文件的功能。首先,读取XML我参考的是这篇文章:https://www.cnblogs.com/hongwz/p/5514786.html但是这篇文章里的读取XML是远远不够的,内容中的读取XML方法是读取写死固定的XML,而且只能读取到第一、二层节点,web.xml中可不远远不止一两层,于是得重新写个可以读取不限深度的XML的方法。...

2019-03-12 00:45:04 219

原创 算法 - 选择排序

一种最简单的排序算法是这样的:首先,找到数组中最小的那个元素,其次,将它和数组中的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小元素,将它与数组的第二个元素交换位置。如此反复,直到将整个数组排序。这种方法就叫做选择排序,因为它在不断的选择剩余元素中的最小者。选择排序是种很容易理解和实现的简单排序算法,它有两个很鲜明的特点。运行时间和输入无...

2019-03-06 23:55:52 146

原创 Nginx下上传图片404

功能本地测试的时候上传没问题,但是部署到线上就报404,因为报404返回的页面是原始的页面而并不是前端定义的404页面 ,于是判断可能是Nginx拦截了报的404在Nginx的log下找到了*26054 open() "/var/lib/nginx/tmp/client_bod偶y/0000000005" failed (13: Permission denied)这样的报...

2019-03-06 23:03:50 1892

转载 如何看懂Code128条形码

转载地址:https://www.cnblogs.com/exmyth/p/4810765.html条形码就是我们看到的商品上有的那些竖条条。要不是项目上用到这个或许我一辈子也不会对那个感兴趣。条形码其实是分成很多类的,虽然他们看起来都差不多……常见的条形码的码制被称为39码、128码、417码等等。我今天主要讲的是128码即CODE128。 Code128码其实还分成...

2019-02-25 22:55:28 1396

原创 Dubbo qos 22222端口占用的问题

最近项目上由motan转成dubbo了,版本是2.5.8,启动的时候报22222端口被占用。一开始是按照网上的方法,都试了一波,结果都不管用。。。。。。。于是翻开了dubbo的源码,企图从中找到解决方法,呐, 第一个画起来的定义了端口,第二个绑定端口不过没有找到什么线索,接着翻这个像不像别的文章中的解决方法中的一个? 这个中的dubbo.application....

2019-02-23 00:21:48 10829

原创 HTTP Content-Length深入实践

转载自(https://www.jianshu.com/p/d606732f2ebc)引子HTTP头部Content-Length用于描述HTTP消息实体的传输长度,浏览器对比Content-Length和HTTP请求或者响应body长度判断一次HTTP传输过程,以独立于TCP长连接。但是如果Content-Length与HTTP请求或者响应body长度不一致时,本文深入实践浏览器怎么处理...

2019-02-21 00:20:28 38906 1

原创 手写简单版Tomcat(一)——访问静态文件

转载自https://my.oschina.net/liughDevelop/blog/1790893作为一个Java Web开发者,怎么能不对Tomcat不感兴趣呢?于是,怀着一颗好奇的心,就想要摸一摸Tomcat的底层及实现原理。那么,Tomcat究竟在Web中承担一个什么样的角色呢?首先,当我们在浏览器输入URL 比如http://www.baidu.com 的时候,浏览器...

2019-02-17 17:58:41 447

原创 xshell 上传文件 速度为0的解决方法

如果在xshell下上传文件速度一直为0,可以尝试安装yum -y install lrzsz亲测,实用!

2018-09-02 18:46:53 10336 5

原创 Spring boot 整合 mybatis

新建一个maven项目,在pom中引入mybatis依赖和mysql依赖,代码如下: 4.0.0 com.ziyu.springboot boot3 0.0.1-SNAPSHOT war org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE

2018-02-02 23:45:16 126

原创 Spring boot之Hello World

首先声明,Spring Boot不是一门新技术,所以不用紧张。从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的

2018-02-02 22:57:07 182

原创 spring boot整合thymeleaf

thymeleaf介绍简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 h

2018-02-02 16:32:14 13355 4

原创 Spring-Boot-JPA hibernate 实例

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。用spring boot创建一个JPA实例需要以下几

2018-02-01 00:46:13 1332

原创 最简单的Spring AOP实例

前言:这篇博客转载自李阿昀,为了梳理一下自己的思路Spring提供了两种切面声明方式,实际工作中我们可以选用其中一种:基于XML配置方式声明切面。基于注解方式声明切面。下面先说下基于Spring注解的方式声明切面。1.导入jar包AOP所需要的jar包有以下几个:com.springsource.org.aopalliance-1.0.0.jarcom.

2018-01-12 19:37:00 276

转载 SQL where 1=1 和0=1 的作用(转载自:https://www.cnblogs.com/junyuz/archive/2011/03/10/1979646.html)

sql where 1=1和 0=1 的作用where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where  1=1  在多条件查询中的困扰  举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下:  strin

2018-01-09 19:00:09 189

空空如也

空空如也

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

TA关注的人

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