自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星空dream的博客

临渊羡鱼不如退而结网 https://github.com/lgxkdream

  • 博客(82)
  • 资源 (12)
  • 收藏
  • 关注

原创 JAVA基础编程代码50个

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{       public static void main(String[] args){

2016-11-08 11:20:59 105030 14

转载 Java 诊断工具 Arthas 常见命令

Arthas 支持 JDK 6+,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。可以用来查看线程,内存,GC和运行时状态,查看入参/返回值/异常,快速定位应用的热点,生成火焰图等功能,帮助更快排查疑难问题。thread 1 命令会打印线程ID 1的栈。arthas-boot是Arthas的启动程序,它启动后,会列出所有的Java进程,用户可以选择需要诊断的目标进程。如:history,cat,echo,pwd,grep。

2022-08-22 14:30:23 1206

原创 Go类型转换

由于Go语言不存在隐式类型转换,因此所有的类型转换都必须显式的声明。string、int、float类型相互转换string转其他string转成int:int, err := strconv.Atoi(string)string转成int64:// 参数1:带转换字符串,// 参数2:基于几进制,值可以是0,8,16,32,64// 参数3:要转成哪个int类型:可以是0、8、16、32、64,分别对应 int,int8,int16,int32,int64int64, er

2020-09-23 10:30:20 3492

原创 排序算法之归并排序

public class MergeSort { public static void main(String[] args) { int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1}; sort(arr); System.out.println(Arrays.toString(arr)); } ...

2020-04-30 20:49:21 251

转载 MySQL千万级别大表如何优化?

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段 尽量使用TINYINT...

2020-04-25 23:15:26 1563

转载 mysql给数据量大的表添加索引的办法

有一个问题,一张表有3百万条记录,随着时间的增加,记录量会更多,此时查询速度很慢。在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引。但是因为数据量大的原因,索引添加不成功,想了很多办法,终于在短时间内解决了。  办法如下:  1、进入mysql界面。mysql -uroot -hlocalhost -plovelive gm;  2、导出相应表的数据。select * fr...

2020-04-07 22:48:26 4147

转载 Queue:poll、offer、element、peek的区别

队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。在java5中新增...

2020-02-20 16:34:46 5719

原创 【算法系列之十四】最大子序和

1、题目描述给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。2、解法及解题思路public class MaximumSubarray { public static void ...

2020-01-17 16:17:11 199

转载 简单的cpu飙升排查方法

1先来一段飙升代码public class FindJavaThreadInTaskManager { public static void main(String[] args) { Thread thread = new Thread(new Worker()); thread.start(); } static class Wo...

2019-11-20 15:25:16 203

原创 【算法系列之十三】二叉树两叶节点的最大距离

1、题目描述给定一棵二叉树,计算这课二叉树的直径长度,即为二叉树任意两个节点间的最长路径。比如: 这棵二叉树的最长路径为3。2、解题思路使用递归进行求解,每次递归的过程中,先求出以某个节点为树根的二叉树的左子树的最长深度maxLeft、右子树的最长深度maxRight,并在递归函数中用一个变量maxLen来保存任意两个节点间的最长路径。在求出...

2019-11-13 17:12:49 418

转载 gitignore不起作用

.gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:git rm ...

2019-10-28 16:24:46 142

原创 GIT提交message规范

<type>(<scope>): <subject><body><footer># type 用于说明 commit 的类别,只允许使用下面7个标识。feat: 新功能(feature)fix: 修补bugdocs: 文档(documentation)style: 格式(不影响代码运行的变动)refactor: 重...

2019-08-21 19:45:57 411

转载 GIT 常用命令

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# ...

2019-03-28 10:29:01 130

转载 MySQL的索引是什么?怎么优化?

索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。一、导致SQL执行慢的原因: 1.硬件问题。如网络速度慢,内存不足,I/O吞吐量小,磁盘空...

2019-03-05 20:31:46 295

转载 五种线程池的对比与使用

今天对五种常见的java内置线程池进行讲解。线程使用的demopublic static void cache() { ExecutorService pool = Executors.newCachedThreadPool(); long start = System.currentTimeMillis(); pool.execute((...

2019-02-22 17:47:58 1000

转载 JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx3550m -Xms3550m ...

2019-01-22 16:13:50 175

原创 【算法系列之十二】最接近的三数之和

给定一个包括n个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).public class Three...

2018-12-18 15:38:37 313

原创 【算法系列之十一】k个一组翻转链表

给出一个链表,每k个节点一组进行翻转,并返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1-&gt;2-&gt;3-&gt;4-&gt;5当k= 2 时,应当返回:2-&gt;1-&gt;4-&gt;3-&gt;5当k= 3 时,应当返回:3-&gt;2-&gt...

2018-12-17 20:16:18 248

转载 分布式之数据库和缓存双写一致性方案解析

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成...

2018-12-15 17:42:42 156

原创 【算法系列之十】三数之和

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]import ...

2018-12-03 20:28:18 301

原创 【算法系列之九】合并两个有序数组

给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...

2018-11-27 14:41:50 167

原创 【算法系列之八】删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1-&gt;2-&gt;3-&gt;5.说明:给定的n保证是有效的。public class Solution { public static void main(St...

2018-11-26 14:43:20 127

原创 【算法系列之七】合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1-&gt;2-&gt;4, 1-&gt;3-&gt;4输出:1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4/** * Definition for singly-linked list. * public class ListNode { * ...

2018-11-14 18:09:30 259

原创 【算法系列之六】两整数之和

不使用运算符+和-,计算两整数a、b之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1方法一:递归public static int getSum1(int a, int b) { if ((a &amp; b) != 0) { // 判断是否有进位 return getSum...

2018-11-14 11:39:55 277

转载 【算法系列之五】对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解决...

2018-11-12 20:44:15 205

转载 【算法系列之四】柱状图储水

题目:给定一个数组,每个位置的值代表一个高度,那么整个数组可以看做是一个直方图,如果把这个直方图当作容器的话,求这个容器能装多少水例如:3,1,2,4代表第一个位置高度为3,第二个位置高度为1,以此类推,这个直方图能装3格水。如图红色地方:思路:很多人会误想到正出什么波峰波谷,这就从开始就错了,比如两个相邻的波峰之外还有更大的波峰,这么说来你中间这连个波峰波谷算的值多白算了...

2018-10-30 20:45:10 748

转载 深入理解Semaphore

使用Semaphore是计数信号量。Semaphore管理一系列许可证。每个acquire方法阻塞,直到有一个许可证可以获得然后拿走一个许可证;每个release方法增加一个许可证,这可能会释放一个阻塞的acquire方法。然而,其实并没有实际的许可证这个对象,Semaphore只是维持了一个可获得许可证的数量。 Semaphore经常用于限制获取某种资源的线程数量。下面举个例子,比如说操场上有5...

2018-07-02 20:05:42 201

转载 Java线程面试题 Top 50

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式...

2018-06-01 11:24:25 439

原创 线程池的各种使用场景

(1)高并发、任务执行时间短的业务,线程池线程数可以设置为CPU核数+1,减少线程上下文的切换(2)并发不高、任务执行时间长的业务要区分开看:       a)假如是业务时间长集中在IO操作上,也就是IO密集型的任务,因为IO操作并不占用CPU,所以不要让所有的CPU闲下来,可以加大线程池中的线程数目,让CPU处理更多的业务       b)假如是业务时间长集中在计算操作上,也就是计算密集型...

2018-04-04 18:17:31 30082 6

原创 基于注解的字段脱敏处理

package io.lgxkdream.test2;import org.apache.commons.lang3.StringUtils;/** * @title: MaskUtils * @description: 掩码工具类 * @Copyright: Copyright (c) 2018 * @Company: lgxkdream.github.io * @author...

2018-03-19 11:26:18 6444 3

转载 Java中的锁

在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来依次获得锁。公平锁的好处是等待锁的线程不会饿死,但是整体效率相对低一些;非公平锁的好处是整体效率相对高一些,但是...

2018-03-02 16:11:38 159

转载 java设计模式之建造者模式

建造者模式      将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创造不同的表示。      建造者模式将一个产品的内部表象和产品的生成过程分割开来,建造对象的时候只需要指定需要建造的类型,而不必了解具体的建造过程。案例      一个玩具工厂,工人们建造新的玩具人时,需要逐个安装各个部分,种类有胖虎和小夫。万一粗心大意忘记装了某个部分,就出现了不合格的玩具,缺胳膊少腿。      ...

2018-02-22 15:58:02 213

原创 Linux 性能检查命令总结

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?

2018-02-12 14:13:54 237

转载 mysql explain用法

explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了,如:explain select * from statuses_status where id=11;创建测试表:CREATE TABLE people( id int auto_increment prima...

2018-02-08 09:39:27 277

原创 Java虚拟机类加载机制经典案例

package io.lgxkdream.test;class Father { static Father f = new Father(); static { System.out.println("father-1"); } { System.out.println("father-2"); } Father() { System.out.println("

2018-02-04 22:09:40 178

转载 Linux下的MySQL安装及卸载

1.1  查看mysql的安装路径:[root@bogon ~]# whereis mysqlmysql: /usr/bin/mysql /usr/lib/mysql/usr/share/mysql /usr/share/man/man1/mysql.1.gz1.2  查看mysql的安装包:[root@bogon ~]# rpm -qa|grep mysqlmysql-com

2018-02-03 12:26:44 224

转载 从数据库表中随机获取N条记录的SQL语句

Oracle:       select * from (select * from tableName order by dbms_random.value) where rownum MS SQLServer:       select top N * from tableName order by newid(); My SQL: 

2018-01-31 21:52:15 397

转载 Java常见异常总结

1、java.lang.NullPointerException(空指针异常)   调用了未经初始化的对象或者是不存在的对象经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所

2018-01-15 22:10:34 196

原创 【算法系列之三】单链表反转

问题:实现单链表反转答案:链表准备class Node { private int Data;// 数据域 private Node Next;// 指针域 public Node(int Data) { // super(); this.Data = Data; } public int getData() { return Data; } publi...

2018-01-13 12:12:31 191

原创 【算法系列之二】反波兰式

问题:用反波兰式表示算术表达式的值。有效运算符是+,-,*,/。每个操作数可以是一个整数或另一个表达式。一些例子:["2", "1", "+", "3", "*"] -&gt; ((2 + 1) * 3) -&gt; 9 ["4", "13", "5", "/", "+"

2018-01-05 15:10:55 270

Eclipse相关配置

Eclipse相关的初始化配置 Eclipse相关的初始化配置 Eclipse相关的初始化配置

2018-02-06

git提交信息模板

git提交信息模板 git提交信息模板 git提交信息模板 git提交信息模板

2018-02-04

nginx-1.8.0.tar.gz

Nginx服务器 1.8版本

2017-05-01

Myeclipse 10 激活详解过程.pdf

Myeclipse 10 的详细激活过程

2017-02-11

Linux下的jdk配置

介绍在Linux环境下如何配置jdk

2017-01-01

Java反编译工具

非常好用的java反编译工具

2016-12-11

ColorsLite(颜色拾取器)

颜色拾取工具

2016-12-11

SQL_Server2008安装操作手册(修订版)

SQL_Server2008安装的图文详解

2016-12-11

媒体教学系统课程设计报告

长春理工大学媒体教学系统课程设计报告

2016-12-11

卸载MySQL数据库

卸载MySQL数据库的图文详解

2016-12-11

Oracle-11g-安装图解(详细版)

Oracle 11g安装图文攻略

2016-12-11

长春理工大学软件质量保证与测试报告(六个实验,超全)

长春理工大学软件质量保证与测试报告,包括性能测试,单元测试,自动化测试,版本控制实验,反编译,bug管理,超全

2016-06-22

空空如也

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

TA关注的人

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