- 博客(137)
- 收藏
- 关注
原创 grep knowledge
Developer essentials: How to search code using grep | MDN Blog
2024-02-10 21:05:27
374
原创 mysql 服务启动:发生系统错误 1067
电脑重置系统后,程序和服务都需要重新安装配置,mysql服务安装后启动不起来,提示1067。最终使用命令mysqladmin -u root -p shutdown解决。
2022-02-04 16:58:55
1381
原创 Kafka 消息序列化反序列化
主要是记录下 SpringBoot 如何集成 Kafka,完成消息队列的使用,代码包括 Json 序列化消息,生产者,消费者,配置文件。1、maven 依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><depen
2022-01-21 12:25:41
2920
原创 MySQL 跳过权限校验
如果忘记密码了,或者不小心修改了mysql.user表中中的记录,导致客户端连接不上MySQL了,可以在my.ini配置文件里增加下面一句话,保存,然后重启mysql服务,之后就可以连接上了。skip-grant-tables连接上之后,修改密码,再去掉mysql.ini文件中刚刚添加的那句话。如果想所有ip都可以连接 MySQL,使用如下命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root'%所有ip都可以
2021-12-25 11:47:09
1668
1
原创 Linux 文件系统相关的命令
1)ls 显示目录ls 显示当前路径下的文件ls dir 显示指定目录下的文件ls -a 会显示隐藏文件ls -l 长列表形式展示,包括文件类型,属主权限,属组成员的权限,其它人的权限2)df 显示磁盘使用情况df -h 显示每个分区使用的情况,大小,使用,挂载到哪个目录下。-h 加这个参数后,分区大小的显示格式不一样。3)du 查看文件系统的使用情况显示文件夹下各子文件夹大小...
2021-12-11 14:54:49
648
原创 Java 虚拟机运行时数据区
Java 虚拟机运行时数据区;堆,虚拟机栈,本地方法栈,程序计数器,直接内存,方法区,运行时常量池;Java 内存分区
2021-12-07 17:13:23
173
原创 Java内存模型
Java Memory Model (JMM)一、对象的创建过程首先类如果没有加载的话先进行加载,包括3个步骤:1、class loading,将class加载到内存;2、class linking,校验,将类的静态变量赋默认值,解析;3、class initializing,静态变量赋初始值,并执行静态代码块然后创建对象:1、申请对象内存2、成员变量赋默认值3、调用构造方法:将成员变量按顺序赋初始值,执行构造方法,首先要调用super构造方法。二、对象布局.
2021-12-06 19:33:34
418
原创 JVM 虚拟机类加载过程和双亲委派机制
Java 编译后的字节码 Class 文件加载到虚拟机后才能运行和使用。类加载过程包括 Loading 加载,Verification 验证,Preparation 准备,Resolution 解析,Initialization初始化几个步骤。1、加载 Loading...
2021-12-06 14:49:33
759
原创 Java Class 文件结构
Java 类文件结构是一个二进制字节流,由 Java 虚拟机解释。编译后的class文件用编辑器16进制打开,类似下图的样子,1个16进制是4位,2个16进制是1个字节。前几位一般都一样,CA FE BA BE,为魔术值 Magic Number,占四个字节。第二部分为版本号,Minor Version 两个字节,Major Version 两个字节,例子里的34换成10进制为52,表示JDK8。第三部分为常量池中个数, constant_pool_count,008D(141),两..
2021-12-06 10:37:49
892
原创 分布式锁的三种实现方式
分布式锁实现方式主要有三种,数据库,Redis 和 ZooKeeper。1、数据库实现分布式锁使用select field from table_name where idx = n for update关键词 for update,如果 idx为主键或索引字段,这样就会使用行锁,相同记录进行操作会阻塞,等待锁释放后才能继续,可以设置超时时间,如 for update 2s,获取不到锁就报异常。这种方式不会影响对其他行的 write 操作,也不会影响对表数据的 read 操作,不建议并发量很大.
2021-12-03 22:04:21
2801
原创 CentOS 7 上搭建 Nacos Cluster 集群
整体架构:1)Nginx,部署1个节点,负责负载均衡Nacos 请求2)Nacos server,部署3个节点3)MySQL 5.7,主从复制,一主一从,负责Nacos 配置数据持久化存储安装步骤:1、MySQL 安装之前已经安装并设置过主从复制集群。2、Nacos Server 2.x版本安装本地下载2.0.3版本,使用Xshell 上传到虚拟机三个节点的 /opt/education/目录下,解压缩后目录为nacos。使用 vim 命令编辑Nacos/con...
2021-12-03 00:28:41
3108
原创 Java 标记接口
Marker interface,标记接口,在Java 中是没有任何方法定义的接口。常见的几个标记接口有:java.lang.Cloneable,如果一个对象要使用clone方法,这个对象对应的类必须要实现Cloneable接口,否则会报 CloneNotSupportedException异常。java.io.Serializable,支持序列和反序列化。java.util.RandomAccess,支持随机访问,例如,ArrayList 实现了 RandomAccess 接口,可以使用随
2021-12-01 10:26:23
3719
原创 CentOS 7 下安装 Redis
1、浏览器中打开redis官网https://redis.io/2、复制最新版本的redis的地址,下图链接的右键菜单中选择“复制链接地址”3、使用wget命令下载文件wget https://download.redis.io/releases/redis-6.2.6.tar.gz4、解压tar xf redis-6.2.6.tar.gz5、编译cd redis-6.2.6cd srcmake6、安装到指定目录下make install PREFIX..
2021-11-14 16:07:41
918
原创 make,make install命令
make 编译命令进行源代码编译,默认就是读取Makefile中指令进行编译make install 命令用于安装到指定目录下例如 make install PREFIX=/opt/education/redis6
2021-11-14 15:16:27
849
原创 vi命令下搜索
vi filename 打开文件,命令模式下,想定位到某个词,可以使用搜索直接输入/keyword,然后回车然后输入n定位到下一处,大写N回到上一个位置
2021-11-14 13:47:45
6994
原创 MySQL 5.7 主从复制配置
之前在两个节点安装了MySQL 5.7,现在开始进行主从复制配置,138作为主,148为从。1、主节点 MySQL 配置文件修改log-bin=master-bin #二进制文件名binlog-format=ROW #二进制日志格式server-id=1 #各服务器id不一样binlog-do-db=poi #同步的数据库名称2、从服务器登录主服务器的账号授权配置mysql -uroot -p 命令登录MySQL,输入密码执行语句:set global valida...
2021-10-24 20:02:36
1511
原创 CentOS 7 上安装 MySQL5.7
1、查看系统中是否自带安装mysqlyum list installed | grep mysql2、安装wget命令yum install wget -y3、给CentOS添加rpm源wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm4、安装下载好的rpm文件yum install mysql-community-release-el6-5.noarch.rpm -y5、安装成功之后,/etc/y.
2021-10-24 18:25:07
1389
原创 yum 方式安装
VMWare 安装CentOS,默认很多命令都没有安装,所以经常需要使用 yum install -y 安装命令和软件,一些有用的命令在此记录一下。1、wget命令yum install -y wgetwget 命令使用方法:wget www.baidu.com2、vim 命令vi的升级版yum install -y vimvim 使用方法: vim test.txt3、tree 命令yum install -y tree以树结构显示目录4、dig命令
2021-09-04 08:41:01
590
原创 VMWare 虚拟机中安装 CentOS 7
时隔多年,又在自己本本上装起了虚拟机,为后续Redis,ZooKeeper,大数据技术的深入实战做个环境准备。这里记录下要点,1、官网下载 VMWare workstation 16 pro,官网地址为:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html2、CentOS 官网下载 7版本,官网地址为:https://www.centos.org/download/3、配置虚拟机
2021-07-29 11:27:40
104
原创 Java 并发编程之 ConcurrentLinkedQueue
适用于高并发下对集合类进行操作的场景。常用的线程安全方法有offer,add,poll,peek,底层通过cas 实现对容器的原子操作。一个很简单的使用例子如下:public class ConcurrentLinkedQueueTest { private static Queue<String> coupons = new ConcurrentLinkedQueue<>(); public static void main(String[] arg
2021-07-22 14:09:56
276
原创 Java 设计模式之 Observer 模式
这种模式抽象出三个角色,被观察者,观察者,事件。观察者:将观察者抽象为interface接口,将观察者的行为抽象为一个个方法,具体观察者通过实现观察者接口,并实现这些方法,来赋予具体的行为。被观察者:发出某些事件,将事件通知给观察者。事件:事件里将被观察者作为成员对象,这样需要对原对象进行处理,或者使用原对象的方法时,可以从事件里获得事件原对象。被观察者发出某事件,通知观察者,观察者根据事件作出响应。举个咖啡馆Cafe的例子,客户进来,要点餐,要结账,服务员会拿过来菜单,账单。观察者
2021-07-22 10:41:51
358
原创 Java 设计模式之 Abstract Factory 抽象工厂模式
在工厂方法基础上,将工厂的生产方法的返回类型从具体产品抽象为抽象产品,同时扩展工厂的方法,支持任意定制产品族,则工厂方法可以升级为抽象工厂模式,比如一家餐厅可以提供牛排(方法A),红酒(方法B),蔬菜汤(方法C),另一个餐厅可以提供水煮鱼,橙汁,乌鸡汤。抽象产品类:/** * 主菜抽象类 */public abstract class MainCourse { abstract void printName();}public abstract class Drink {
2021-07-20 12:40:34
140
原创 Java 并发编程之 LockSupport
LockSupport 可以用于阻塞当前线程的执行,以及唤醒指定的线程,常用的方法包括park() 和 unpark(thread),比wait和notify更灵活。public class LockSupportTest { public static void main(String[] args) { Thread thread = new Thread(() -> { for (int i=0; i<20; i++) {
2021-07-19 21:01:55
107
原创 Java 设计模式之Bridge桥接模式
将抽象和具体实现两个维度分离,让他们独立发展,并且在抽象类里聚合一个具体实现,通过聚合替代继承,用于解决类爆炸的问题。这种模式要求对系统的抽象的理解和设计难度都比较大。例子:这里要对花,气球等装饰物进行显示,可以显示一个装饰物,也可以显示多个装饰物,那么将装饰物作为具体实现,将显示作为抽象类,在抽象类里有一个装饰物的引用,对抽象类进行扩展可以进行多次显示,对具体实现扩展为不同类型装饰物。Display,NumberDisplayDisplayImpl, FlowerDisplayImpl
2021-07-19 12:20:56
207
原创 Java 设计模式之装饰器模式
定义一个装饰类,给原有对象(被装饰者)加点新功能。实现:装饰者和被装饰者具有相同的接口,装饰者在被装饰者已有功能基础上加点新功能。例子,比如给冰激凌加点香草味,加点巧克力,冰淇淋和加料都有相同的接口食物。看代码,好不容易写出来的,理解了,以后再也不会蒙圈了。/** * 装饰类和被装饰类共同继承的抽象类 * 使装饰类和被装饰类具有一致性 */public abstract class Food { /** 待被装饰者和装饰者具体发挥 */ public abstrac
2021-07-17 13:44:24
517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人