星空dream的博客

万里长征第一步 https://github.com/lgxkdream

JAVA基础编程代码50个

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

2016-11-08 11:20:59

阅读数 21010

评论数 0

GIT 常用命令

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

2019-03-28 10:29:01

阅读数 36

评论数 0

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

索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。 一、导致SQL执...

2019-03-05 20:31:46

阅读数 46

评论数 0

五种线程池的对比与使用

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

2019-02-22 17:47:58

阅读数 47

评论数 0

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

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

2019-01-22 16:13:50

阅读数 53

评论数 0

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

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

2018-12-18 15:38:37

阅读数 47

评论数 0

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

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

2018-12-17 20:16:18

阅读数 36

评论数 0

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

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。   但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方...

2018-12-15 17:42:42

阅读数 33

评论数 0

【算法题系列之十】三数之和

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

2018-12-03 20:28:18

阅读数 42

评论数 0

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

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

2018-11-27 14:41:50

阅读数 24

评论数 0

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

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1-&gt...

2018-11-26 14:43:20

阅读数 30

评论数 0

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

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  示例: 输入:1->2->4, 1->3->4 输出:1->1-&gt...

2018-11-14 18:09:30

阅读数 27

评论数 0

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

不使用运算符 + 和 - ,计算两整数 a 、b 之和。 示例 1: 输入: a = 1, b = 2 输出: 3 示例 2: 输入: a = -2, b = 3 输出: 1 方法一:递归 public static int getSum1(int a, int b) { ...

2018-11-14 11:39:55

阅读数 80

评论数 0

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

给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ ...

2018-11-12 20:44:15

阅读数 48

评论数 0

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

题目: 给定一个数组,每个位置的值代表一个高度,那么整个数组可以看做是一个直方图, 如果把这个直方图当作容器的话,求这个容器能装多少水 例如:3,1,2,4 代表第一个位置高度为3,第二个位置高度为1,以此类推,这个直方图能装3格水。如图红色地方: 思路:很多人会误想到正出什么波峰波...

2018-10-30 20:45:10

阅读数 100

评论数 0

深入理解Semaphore

使用Semaphore是计数信号量。Semaphore管理一系列许可证。每个acquire方法阻塞,直到有一个许可证可以获得然后拿走一个许可证;每个release方法增加一个许可证,这可能会释放一个阻塞的acquire方法。然而,其实并没有实际的许可证这个对象,Semaphore只是维持了一个可获...

2018-07-02 20:05:42

阅读数 56

评论数 0

Java线程面试题 Top 50

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

2018-06-01 11:24:25

阅读数 283

评论数 0

线程池的各种使用场景

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

2018-04-04 18:17:31

阅读数 4277

评论数 0

基于注解的字段脱敏处理

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

2018-03-19 11:26:18

阅读数 793

评论数 0

Java中的锁

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

2018-03-02 16:11:38

阅读数 72

评论数 0

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