自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入研究MySQL(四)、备份与恢复

一、前言知道备份的重要性吗?没经历过的可能永远不知道他的痛,我们在重装系统、手机升级等时候,备份一下数据总是有好处的,指不定那个操作导致磁盘数据丢失,前些日子删库跑路被判刑的那位老哥,如果公司有备份的话,也不至于损失几个亿(听说是让绿了),所以本章来学习一下MySQL的备份与恢复,如果要定期备份的话,可以写个脚本定时执行,省去人来完成这重复的工作。我们可以使用以下任何一种方法来生成MySQL数据库的备份:使用mysqldump程序使用二进制日志在本文中,会解释如何使用mysqldump生成My

2020-10-21 17:29:53 260

原创 Linux管理工具二次更新,增加进程管理

二更距离版本一已经过去很长时间了(虽然没什么功能),主要没时间写这个,这几天抽空又完善了一下,更新的地方有:修改了首页的UI及操作方式。增加了进程枚举、终止。图片资源可以以缩略图方式预览。下次更新会加入项目自动部署以及性能监控。地址后端https://gitee.com/hxl495/linux-file-manager前端https://gitee.com/hxl495/linux-file-manager-web运行&部署这个版本前端使用了Vue,后端还是Sp

2020-10-21 11:40:03 245

原创 三进多线程,线程数据交换,Exchanger就够了

Exchanger简介如果对java并包(java.util.concurrent)知道的话,那么可能知道CountDownLatch、CyclicBarrier这些多线程并发工具,不熟悉的话可以看以下文章。Exchanger也在其中,顾名思义,Exchanger是用于两个线程交换数据的,最重要的是exchange()方法,这是一个阻塞方法,意味着线程将调用exchange()方法时在交换点等待,直到另一个线程到达,一旦另一个线程到达,两个线程将会交换各自的数据并返回。还有个重载方法接收TimeUnit

2020-10-20 11:06:25 309

原创 Linux下套接字编程指南,静态资源服务器实现

0、阅读本章需要哪些知识我很少介绍关于基础的东西,因为这些文章太多了,网上关于基础的一抓一大把,可能比我介绍的还好,所以,在阅读本章前,需要具有基本的Socket通信流程、C语法、HTTP请求/响应格式、HTTP响应头字段各代表什么信息,这些就足够了。一、什么是套接字套接字其实叫socket,关于socket的文章以前写过一篇,是关于openjdk下的socket实现,里面介绍了java中socket底层的的实现方式,但是是在Window环境下,今天在Linux环境下做个演示,以及做个静态资源服务器。

2020-10-20 09:00:55 250

原创 深入研究MySQL(三)、主从复制原理及演示

一、主从复制概述主从复制就是将一台主机的数据复制到另一台或者多台主机上,复制过程中一台服务器充当主库(Master),就是源数据存放的主机,还有一台或者多台服务器充当从库(Slave),Mysql支持单向、双向、链式级联、异步复制,还有在5.5版本后的半同步复制等。利用主从复制功能,我们可以做到在主库发生意外时,让从库接管主库,也能让从库分担主库的读压力,这一点,也可以看看以前关于Redis主从复制的介绍。模式图主从复制演示Docker安装MySQL由于本次演示需要用到多个MySQL实

2020-10-17 16:24:35 287 2

原创 深入研究MySQL(二)、事务与隔离级别

一、事务简介本章介绍关于事务的知识,在简介中,会分5个点去介绍。在这里推荐一本书,《数据库事务处理的艺术 事务管理与并发控制》1. 事务概述事务就是一组插入、删除、更新语句的集合,比如一个事务中有两条插入语句,一条更新语句,这三条语句要么都执行,要么都不执行,是一个不可分割的单位,ACID 四大特性就是事务的基础,在下面会说。在操作事务中,我们可以通过commit提交事务,就是对数据库做的所有修改成为永久性,还有rollback命令回滚事务,也就是撤销正在进行的所有未提交的修改,回滚操作在我们安装

2020-10-16 15:30:56 201

原创 深入研究MySQL(一)、锁机制

前言

2020-10-15 15:37:43 264

原创 开源XMPP客户端,老外的代码真是看不懂

前言一直想做一款自己的即使通信APP,加一些特有的功能,用来和家人通信,但是还真不好搞,在尝试用Socket时,最大问题就是保证消息可靠不丢,重发等基本即时通信该有的东西,后来选择开源实现,也就是XMPP,服务端采用openfire,还有smack,但是smack的类库不是很熟悉,在直接开发时候导致离线后消息丢失,当然我也去尝试解决这个问题,得到的解决方法是先设置离线状态,然后使用离线消息管理器去拉取取消息,但也无济于事,然后想想算了,继续找基于XMPP开源的APP吧。gitee、github搜了半天,

2020-10-14 14:22:36 455

原创 EventBus这么强大,那么来手写一个

EventBus今天突然想起了EventBus,做Android的肯定或多或少知道点这东西,EventBus是一个非常强大的事件发布/订阅轻量级框架,我们可以通过他在Activity、Fragment之间进行通信,或者其他组件中,他的API也及其简单,使用也方便,能使得代码更简洁,那么既然EventBus很强大,今天就来手写一个具有基本功能的“EventBus”。public class TestActivity extends AppCompatActivity { protected void o

2020-10-11 17:02:29 232

原创 抽筋了的我非要调试OpenJdk,且看他怎么虐我

前言说来话长,最近又闲的无聊,在看JDK的源码,但是很多关键的地方都是native方法,这就导致需要在往深处看,也就是需要看openjdk源码了,但是c++代码又谈何容易,况且也不怎么会。但是想来想去,决定还是要研究一下的,在以前的文章中已经编译过了openjdk11,虽然过程坎坷,但也是成功了,那么接下来就是导入openjdk源码到ide中,在下面会以clion作为示例,clion下载安装就不说了。激动的心,颤抖的手,Deepin下成功编译OpenJdk11!!!光这导入就花了我1天,毕竟open

2020-10-07 17:07:42 266

原创 无限轮播图使用Scroller就这么简单

前言这几天又拾起老本行,复习复习Android,才发现忘的差不多了,上午做了一个小Demo,配合Scroller做了一个轮播图,效果如下,但是不知为何,录制的GIF成这样,凑乎一下看看。原理是继承ViewGroup,然后自己摆放子View,也就是摆放在一条线上,开启一个定时器,每隔X秒通过Scroller进行滚动,当然还有处理Touch事件,在手指按下的时候定时器停止,抬起的时候定时器重新启动。Scroller我们知道View中提供了scrollTo()和scrollBy()两个方法用来滚动,也就

2020-10-06 13:37:51 509

原创 Java8时间操作参考大全,一文打尽

前言Java中关于日期的API貌似是有点尴尬的,从1.0中的Date到1.1中的Calendar,在到1.8中的LocalDateTime等,给我们增加了不少困惑,到底该使用哪一个?毫无疑问,我们要使用更强大的API,下面会列举出我所能想到的时间操作需求,可供参考。另外有一些类还存在坑,所以在使用时间API时,需要额外的小心。获取当前日期、时间public class Main { public static void main(String[] args){ LocalDa

2020-10-04 14:40:26 345

原创 JVM关闭时,如何优雅的清理资源?

HOOK线程首先要明白一个事,在什么情况下JVM进程会退出?答案是JVM进程中没有非守护线程,或者收到系统中断信号。在这里想起强行终止一个进程的方法,就是结束进程中的所有线程,这个进程自然会退出,题外话…。JDK在Runtime下提供了一个方法addShutdownHook,看名字就是知道是添加一个关闭时候执行的线程,JVM退出时,这个线程就会被启动执行,我们可以在这里做资源释放的操作,如Socket,还可以做个防重复启动的程序,当第一个启动时候,创建一个.lock文件,退出时候删除,如果重复启动,就

2020-10-01 18:22:23 735

原创 Android圆角布局,你有几种实现方式?

前言在Android中有时候需要用到圆角布局,或者圆角头像,实现办法有很多,但是各种办法有坑没坑那就是另一说了,今天就说三种办法,CardView、Shape、自定义View。CardView首先说第一种CardView,这是官方提供的一个控件,使用他需要引入,具体什么时候发布的就不知道了。使用CardView非常简单,只需要给他配置app:cardCornerRadius圆角大小就行。 implementation 'androidx.cardview:cardview:1.0.0'&l

2020-10-01 13:22:30 3175

空空如也

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

TA关注的人

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