- 博客(174)
- 资源 (35)
- 问答 (1)
- 收藏
- 关注
原创 IDEA ctrl+h 弹出框太靠上,无法调整
管怎么调整,都无法把弹出框往下移,那怕改桌面的分辨率。最后是,把弹出框拉到最长,再按Ctrl+h就可以了。也不知道作者写的什么鬼
2021-02-20 14:43:25
633
转载 Java内部类引用外部类中的局部变量为何必须是final问题解析
今天编写一个多线程程序,发现在方法内定义内部类时,如果内部类调用了方法中的变量,那么该变量必须申明为final类型,百思不得其解,后来想到应该是生命周期的原因,因为方法内定义的变量是局部变量,离开该方法,变量就失去了作用,也就会自动被消除,而内部类却不会离开它所在方法就失去作用,它有更广的生命周期,下面通过一个实例加以说明: 如例中所示,在外部类Outer中声明了一个内部类TimerPrint,这个类中的方法引用了方法start中的一个局部变量testTxt 逻辑上:因为...
2021-02-05 10:42:04
450
原创 kafka集群搭建与使用
安装前的环境准备由于Kafka是用Scala语言开发的,运行在JVM上,因此在安装Kafka之前需要先安装JDK。# yum install java-1.8.0-openjdk* -ykafka依赖zookeeper,所以需要先安装zookeeper# wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz# tar -zxvf zookeeper-3.4.12.tar.gz# cd
2020-12-09 15:41:51
347
原创 Kafka简介
Kafka简介Kafka是一种高吞吐量的分布式发布订阅消息系统,使用Scala编写。对于熟悉JMS(Java Message Service)规范的同学来说,消息系统已经不是什么新概念了(例如ActiveMQ,RabbitMQ等)。Kafka拥有作为一个消息系统应该具备的功能,但是确有着独特的设计。可以这样来说,Kafka借鉴了JMS规范的思想,但是确并没有完全遵循JMS规范。kafka是一个分布式的,分区的消息(官方称之为commit log)服务。它提供一个消息系统应该具备的功能
2020-12-09 15:41:07
156
转载 Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{public static void main(String[] args){int a=129.
2020-12-08 16:12:43
257
原创 redis 深度学习----字符串
Redis 中的字符串是可以修改的字符串,在内存中它是以字节数组的形式存在的。我们知道 C 语言里面的字符串标准形式是以 NULL 作为结束符,但是在 Redis 里面字符串不是这么表示的。因为要获取 NULL 结尾的字符串的长度使用的是 strlen 标准库函数,这个函数的算法复杂度是 O(n),它需要对字节数组进行遍历扫描,作为单线程的 Redis 表示承受不起。Redis 的字符串叫着「SDS」,也就是 Simple Dynamic String。它的结构是一个带长度信息的字节数组。st
2020-11-26 16:12:43
123
原创 redis 深度学习—— Redis 安全通信
隔墙有耳 —— Redis 安全通信想象这样一个应用场景,公司有两个机房。因为一个紧急需求,需要跨机房读取 Redis数据。应用部署在 A 机房,存储部署在 B 机房。如果使用普通 tcp 直接访问,因为跨机房所以传输数据会暴露在公网,这非常不安全,客户端服务器交互的数据存在被窃听的风险。Redis 本身并不支持 SSL 安全链接,不过有了 SSL 代理软件,我们可以让通信数据透明地得到加密,就好像 Redis 穿上了一层隐身外套一样。spiped 就是这样的一款 SSL 代理软件,它是
2020-11-26 15:42:16
316
转载 私网ip和公网ip_详解
版权声明:本文为小小呆原创文章,转载请注明出处! https://blog.csdn.net/gui951753/article/details/79210535IP可以分为Public IP 和 Private IP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP才能直接连接上网络,所以对于那些公司,学校,政府机构等场所,就可以集中使用私有的IP进行管理,而大家可以共用一个IP去连接上公网,这样,就省下了许多宝贵的Public IP。你有没有发现,.
2020-11-26 14:45:31
9044
1
原创 redis深度学习之 无所不知 info命令
无所不知 —— Info 指令在使用 Redis 时,时常会遇到很多问题需要诊断,在诊断之前需要了解 Redis 的运行状态,通过强大的 Info 指令,你可以清晰地知道 Redis 内部一系列运行参数。Info 指令显示的信息非常繁多,分为 9 大块,每个块都有非常多的参数,这 9 个块分别是:1、Server 服务器运行的环境参数2、Clients 客户端相关信息3、Memory 服务器运行内存统计数据4、Persistence 持久化信息5、Stats 通用统计数据6、...
2020-11-25 16:44:20
213
原创 redis 深度学习之主从同步---redis深度历险
增量同步 Redis 同步的是指令流,主节点会将那些对自己的状态产生修改性影响的指令记录在本 地的内存 buffer 中,然后异步将 buffer 中的指令同步到从节点,从节点一边执行同步的指 令流来达到和主节点一样的状态,一遍向主节点反馈自己同步到哪里了 (偏移量)。 因为内存的 buffer 是有限的,所以 Redis 主库不能将所有的指令都记录在内存 buffer 中。Redis 的复制内存 buffer 是一个定长的环形数组,如果数组内容满了,就会从头开始覆 盖前面的内容。如果因为网络状况不
2020-11-25 15:33:40
186
原创 redis 深度学习之特殊命令scan,
在平时线上 Redis 维护工作中,有时候需要从 Redis 实例成千上万的 key 中找出特定 前缀的 key 列表来手动处理数据,可能是修改它的值,也可能是删除 key。这里就有一个问 题,如何从海量的 key 中找出满足特定前缀的 key 列表来?Redis 提供了一个简单暴力的指令 keys 用来列出所有满足特定正则字符串规则的 key这个指令使用非常简单,提供一个简单的正则字符串即可,但是有很明显的两个缺点。1、没有 offset、limit 参数,一次性吐出所有满足条件的 key,万
2020-11-24 16:59:55
133
原创 redis深度学习之简单小数据量限流
系统要限定用户的某个行为在指定的时间里 只能允许发生 N 次,如何使用 Redis 的数据结构来实现这个限流的功能?解决方案 这个限流需求中存在一个滑动时间窗口,想想 zset 数据结构的 score 值,是不是可以 通过 score 来圈出这个时间窗口来。而且我们只需要保留这个时间窗口,窗口之外的数据都 可以砍掉。那这个 zset 的 value 填什么比较合适呢?它只需要保证唯一性即可,用 uuid 会 比较浪费空间,那就改用毫秒时间戳吧。如图所示,用一个 zset 结...
2020-11-23 14:49:08
152
原创 关于AOP无法切入同类调用方法的问题
最近在开发中遇到一个问题,当在Service中定义了一个方法并且切入之后,从Controller里面调用该方法可以实现切入,但是当在同一个Service中实现另一方法并调用改方法时却无法切入。代码类似于:Java代码/** *Controller你懂的 */ publicclassCtrl{ publicvoidctrl(){...
2019-10-31 09:29:04
460
原创 JsonProperty
spring默认使用的是jackson处理json的序列化和反序列化,@JsonProperty是Jackson的注解,常用于属性上。 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</art...
2019-08-23 17:23:50
498
原创 jvm学习(一)1.0.jvm体系结构
jvm的全程是Java Virtual Machine , 我们看一下JVM的架构:JVM ArchitectureJVM字节码文件(JVM Languages Classes )包括但不仅限于Java语言编译而成的Class文件。实际上,Java虚拟机不和包括Java在内的任何编程语言绑定,它只与“Class文件”这种特定的二进制文件格式关联,只要特定语言的编译器能将...
2019-08-01 09:18:13
158
转载 Java 对象释放与 finalize 方法
(转载)https://mazhuang.org/2015/12/15/java-object-finalize/\本文谈论的知识很浅显,只是我发现自己掌握的相关知识并不扎实,对细节并不清楚,遂将疑惑解开,并记录于此。按惯例先上结论,对如下知识点已经清楚的选手可以省下看本文的时间了。结论 对象的finalize方法不一定会被调用,即使是进程退出前。 发生 GC ...
2019-07-25 10:48:37
451
转载 sshd_config配置详解
sshd_config配置详解名称 sshd_config - OpenSSH SSH 服务器守护进程配置文件大纲 /etc/ssh/sshd_config描述 sshd(8) 默认从 /etc/ssh/sshd_config 文件(或通过 -f 命令行选项指定的文件)读取配置信息。 配置文件是由"指令 值"对组成的,每行一个。空行和以'#'开头...
2019-07-19 15:25:45
443
原创 sftp 服务器
#1、查看是否安装rpm -q openssh-server#openssh-server 版本至少得 4.8p1, 因为配置权限需要版本添加的新配置项 ChrootDirectory 来完成。ssh –V#2、安装(如果没有安装或者版本过低)客户端:yum install openssh服务端:yum install openssh-server#...
2019-07-19 15:19:14
537
转载 搭建sftp服务器
1、前言sftp可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号...
2019-07-09 18:57:21
2352
转载 Linux查看磁盘空间(df, du)
以下命令可以查看磁盘各分区大小、已用空间等信息:df -h以下命令可以查看foo目录的大小:du -sh foo有时候,硬盘比较满了,我们想找一些目录来清除,可以用下面命令查看当前目录以下搜索文件和子目录大小。找出特别大的,看里面有没有文件可删:du -sh *如果我们插入了一个U盘或移动硬盘,可以用df命令查看它挂载的地方,通常在/mnt或/media下。如果想卸载USB...
2019-07-09 10:40:27
1349
转载 每天一个linux命令(01):df 命令
每天一个linux命令(01):df 命令linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。1.命令格式:df[选项][文件]2.命令功能:显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以1KB为单位...
2019-07-02 15:22:56
187
转载 mysql 创建只读账号
GRANT Select ON *.* TO reader@192.168.1.123 IDENTIFIED BY "123456"GRANT 可以立刻生效在mysql 5.6下似乎要重启mysql才生效创建了一个账户名为“reader" , 密码”123456“ 只可以从192.168.1.123发起访问 读取数据库的账号reader@"%" 则表示所有的ip都可以...
2019-06-27 15:46:33
5422
转载 native关键字用法
native关键字用法native是与C++联合开发的时候用的!java自己开发不用的!使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。 这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的nati...
2019-06-27 09:34:52
1244
转载 Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction
问题场景问题出现环境:1、在同一事务内先后对同一条数据进行插入和更新操作;2、多台服务器操作同一数据库;3、瞬时出现高并发现象;不断的有一下异常抛出,异常信息:org.springframework.dao.CannotAcquireLockException:### Error updating database. Cause: java.sql.SQLExcepti...
2019-06-25 19:40:42
771
转载 java 类加载器
类与类加载器虚拟机设计团队把类加载阶段张的"通过一个类的全限定名来获取此类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为"类加载器"。类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限定于类加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每...
2019-06-25 17:41:28
79
转载 Java类加载机制
前言我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用。而虚拟机如何加载这些.class文件?.class文件的信息进入到虚拟机后会发生什么变化?这些都是本文要讲的内容,文章将会讲解加载类加载的每个阶段Java虚拟机需要做什么事(加粗标红)。类使用的7个阶段类从被加载到虚拟机内存中开始,到卸载出内存...
2019-06-25 17:40:28
90
转载 CentOS yum 源的配置与使用
CentOS yum 源的配置与使用一、yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发...
2019-06-21 10:15:09
208
转载 jcmd
概述在JDK 1.7之后,新增了一个命令行工具jcmd。它是一个多功能工具,可以用来导出堆,查看java进程,导出线程信息,执行GC等。使用示例下面这个命令能够列出当前运行的所有虚拟机:参数-l表示列出所有java虚拟机,针对每一个虚拟机,可以使用help命令列出该虚拟机支持的所有命令,如下图所示,以21024这个进程为例:查看虚拟机启动时间VM.uptime打印线程栈信息T...
2019-06-19 11:33:40
1103
转载 java 对象转json忽略某个属性
1、FastJson转Json字符串时,忽略指定属性1.1使用注解@JSONField以下Beanpackage com.gomefinance.esign;import com.alibaba.fastjson.annotation.JSONField;import lombok.Getter;import lombok.Setter;import java.io.Seri...
2019-06-18 08:51:52
13121
原创 IDEA创建多个模块MavenSpringBoot项目
最近在学习springboot,先从创建项目开始,一般项目都是一个项目下会有多个模块,这里先创建一个最简单的实例,一个项目下有一个springboot模块项目提供web服务,引用另一个java项目(相当于业务逻辑)期望的项目结构如下一、创建空Maven项目首先打开IDEA,点击“Create New Project”选择Maven,点击下一步填写信息,直到完成项目创...
2019-06-11 15:42:08
1153
原创 springboot中使用jasypt对application配置文件中密码进行加密处理
1、在pom中增加依赖:<!-- plugins --><jasypt.version>2.1.0</jasypt.version><!-- jasypt --><dependency> <groupId>com.github.ulisesbocchio</groupId> ...
2019-06-10 17:15:36
758
转载 Spring Boot HikariCP 一 ——集成多数据源
其实这里介绍的东西主要是参考的另外一篇文章,数据库读写分离的。参考文章就把链接贴出来,里面有那位的代码,简单明了https://gitee.com/comven/dynamic-datasource-demo?spm=5176.100239.blogcont188540.13.iARYDh。读写分离的功能我已经使用replication集成好了,因为我们需要单独设置每个数据源的链接属...
2019-06-06 15:49:17
2646
1
转载 springboot(自定义缓存读写机制CachingConfigurerSupport
缓存在springboot项目中很常见,分布式项目中最常见的缓存机制就是通过redis缓存mybatis的查询数据,如下示例代码:@Configuration@EnableCachingpublic class RedisConfig extends CachingConfigurerSupport { @Bean public CacheManager redisCac...
2019-05-25 10:04:08
5360
2
原创 SpringBoot下用使用切面技术(AOP)
本例子只是在insert时候获取插入对象执行一些其他的操作。比如记录,返回之类首先在pom.xml下导入aop的依赖是否需要在程序主类中增加@EnableAspectJAutoProxy注解答案是否。只要引入了AOP依赖后,默认已经增加了@EnableAspectJAutoProxy。 @Aspect // 表示一个切面bean @Component // ...
2019-04-30 09:10:26
311
转载 Java 并发:深入理解 ThreadLocal
ThreadLocal 又名线程局部变量,是 Java 中一种较为特殊的线程绑定机制,用于保证变量在不同线程间的隔离性,以方便每个线程处理自己的状态。进一步地,本文以ThreadLocal类的源码为切入点,深入分析了ThreadLocal类的作用原理,并给出应用场景和一般使用步骤。一. 对 ThreadLocal 的理解1). ThreadLocal 概述 ThreadLocal ...
2019-04-12 14:37:58
137
转载 Spring JDBC主从数据库访问配置
背景:主从数据库:主要是数据上的读写分离;数据库的读写分离的好处?1. 将读操作和写操作分离到不同的数据库上,避免主服务器出现性能瓶颈;2. 主服务器进行写操作时,不影响查询应用服务器的查询性能,降低阻塞,提高并发;3. 数据拥有多个容灾副本,提高数据安全性,同时当主服务器故障时,可立即切换到其他服务器,提高系统可用性;读写分离的基本原理就是让主数据库处理事务性增...
2019-04-12 14:09:44
689
转载 javac 编译原理 1.0杂谈 Scala中的Any、Nothing、Null、Nil
Scala中的Any、Nothing、Null、NilAny在scala中,Any类是所有类的超类。Any有两个子类:AnyVal和AnyRef。对于直接类型的scala封装类,如Int、Double等,AnyVal是它们的基类;对于引用类型,AnyRef是它们的基类。Any是一个抽象类,它有如下方法:!=()、==()、asInstanceOf()、equals()、hashCo...
2019-04-02 18:29:16
258
转载 Linux后台运行Jar方法
在linux服务器上运行Jar文件时通常的方法是:$ java -jar test.jar这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台运行呢:方法一:$ nohup java -jar test.jar &//nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行//当用 nohup 命令执行作业时...
2019-04-01 14:54:53
3298
原创 maven项目上传tomcat并把生产配置文件单独放,springboot多环境
今天要上线,看springboot多环境配置很方便,但是后面要改生产的账号密码,防止其他人登录生产的服务器,好急;然后就打了个war包把生产的配置文件单独拿出来,放在了tomcat的然后进入conf 文件夹修改catalina.properties追加文件路径把war放到tomcat的wabapp目录下启动tomcat ./startup.sh查看catalin...
2019-03-30 14:04:47
164
支付宝新版支付代码
2017-12-05
计算机网络(谢希仁第五版)高清完整PDF版
2017-10-10
tomcat-7.0.7
2017-09-18
HSSFWorkbook的jar包了
2017-09-18
SSM Maven项目PageHelper分页实例
2017-09-07
Robomongo(MongoDB可视化工具) v0.90 RC官方版
2017-09-07
redismanager
2017-09-07
dubbo 分布式全套教学视频A
2017-09-06
用java实现爬虫抓取网页中的表格数据功能源码
2018-01-25
shiro登录验证实例
2018-01-24
《深入理解Java虚拟机:JVM高级特性与最佳实践》高清完整PDF版
2018-01-19
微信公众号支付改良版
2018-01-08
mabatis 关联查询用group by 提示字段重复
2017-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人