自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

平湖的博客

守得云中月,方可揽星辰。

原创 Java并发核心浅谈(二)

回顾 在上一篇 Java并发核心浅谈 我们大概了解到了Lock和synchronized的共同点,再简单总结下: Lock主要是自定义一个 counter,从而利用CAS对其实现原子操作,而synchronized是c++ hotspot实现的 monitor(具体的咱也没看,咱就不说) 二者都...

2019-06-16 18:05:14

阅读数 47

评论数 0

原创 Java并发核心浅谈

Java并发的核心就是 j.u.c 包,而 j.u.c 的核心是AbstractQueuedSynchronizer抽象队列同步器,简称 AQS,一些锁啊!信号量啊!循环屏障啊!都是基于AQS。而 AQS 又是基于UNSAFE的一系列compareAndSet,所以理解了这块,并发不再是问题! ...

2019-06-12 11:31:59

阅读数 73

评论数 0

原创 ThreadPoolExecutor浅谈

在了解线程池之前,希望你能够理解 Java 内存模型 和 AQS CAS /** * The runState provides the main lifecycle control, taking on values: * * RUNNING: ...

2019-06-11 10:10:25

阅读数 61

评论数 0

原创 leetcode - 189. 旋转数组

/** * 旋转数组:将数组的后 k 位数移至头部,前 length - k 位数移至尾部 * 要求使用原地算法,即不使用额外的空间 * @param nums 数组 * @param k 旋转的个数 */ private static void rotate(int[] n...

2019-06-30 08:13:25

阅读数 30

评论数 0

原创 字符串的四则运算表达式

public static void main(String[] args) { // 支持括号 小数 负数 String statement = "-10/(4.5+5.5)*(-4-6+20)/-2"; // 10/(-2) 也行 System.ou...

2019-06-28 21:36:45

阅读数 138

评论数 0

原创 Java中各种对象的各种实例化方式

Java 中万物皆对象,Linux 中一切皆文件。 简单的说下对象的实例化过程: 首先我们需要有个意识,就是创建一个类的实例化对象,内存中必须要加载了这个类 所以,不论是 new 还是反射或是 Unsafe.allocateInstance(Class),都必须要先找到类对象的内存地址 然后知道...

2019-06-13 11:43:12

阅读数 158

评论数 0

原创 英语词类浅谈

英语是一门语言,一门学科,一门语言学(Philology)大家都知道英文的构词法是前缀改变词意,后缀强调词性。 Philology 可拆分为 Philo(爱) logy(意思:说。和逻辑 logic 又很像)说明语言学是爱说且富有逻辑的,英语正是如此。 宾语(object) 说到这,我很敬佩当初的...

2019-06-09 14:13:46

阅读数 195

评论数 0

原创 leetcode-cn 实现strStr()

题目如图: 其实这道题相当于让我们自己手写indexOf(),平时用惯了api,手写起来不是很容易,我自己就换了好几种写法,代码如下: private static int strStr(String haystack, String needle) { if (haystack == ...

2019-06-08 15:16:08

阅读数 29

评论数 0

原创 leetcode-cn 删除排序数组中的重复项

题目如图: 比较简单,代码如下: private static int removeDuplicates(int[] nums) { int length = nums.length; int headIndex = 0, tailIndex = 1; for (; tailInd...

2019-06-07 21:21:30

阅读数 25

评论数 0

原创 leetcode-cn 有效的括号

题目描述如图: 废话不多说,代码如下: private static boolean oddAndEvenNumber(int value1, int value2){ // 判断两个数是否同时为偶数或同时为奇数 return ((value1 & 1) == 1) == ((...

2019-06-07 18:55:44

阅读数 44

评论数 0

原创 函数依赖

函数依赖是指关系中属性间(或者说是表中字段间)的对应关系。 定义:设 R 为任一给定关系,如果对于 R 中属性 X 的每一个值,R 中的属性 Y 只有唯一值与之对应,则称 X 函数决定 Y 或称 Y 函数依赖于 X ,记作 X—>Y。其中,X 称为决定因素。 通俗一点,就是给定一个 X 都有...

2019-06-07 15:17:57

阅读数 1627

评论数 0

原创 leetcode-cn 回文数判断

解法基本分为两种,一类是转成字符串数组,然后逐个比较左边和右边的字符,或者是转成字符串,然后反转,再进行比较,其本质都是单个字符的比较,大家都能想到,就不写了。 另一类是直接对数字进行操作,leetcode上有人例举了,还不错。我写完之后,看别人的代码,简洁好多,自叹不如(不过我这个是支持负数回文...

2019-06-07 08:56:49

阅读数 45

评论数 0

原创 SQL多表查询

多表查询的话,SQL提供了JOIN关键字来连接多张表的查询(即连接的是SELECT结果集)基本分为以下几种: JOIN / INNER JOIN-也称作内连接,是最为常用的一种JOIN,其效果是在表中存在一个匹配即返回该条数据 等值连接:ON 子句中使用了运算符“=”,且连接的两个字段最好是主键...

2019-06-05 22:29:09

阅读数 4740

评论数 0

原创 谈谈我对数据库三范式的字面理解

今天看了看《数据结构系统原理》(黄靖 主编)这本书(备考自考,不然以我的品味,直接豆瓣9.0以上,哈哈哈) 首先看下书上给出的定义: 第一范式(1NF):设 R 为任一给定关系,如果 R 中的每个列与行的交点处的取值都是不可再分的基本元素,则 R 为第一范式 第二范式(2NF):设 R 为任一给...

2019-05-31 16:08:20

阅读数 63

评论数 0

原创 查找字符数组中出现次数最多的字符

昨天杭州大搜车面试,面试官出了一道字符串算法题,如下: 给定一个字符串数组,例如char[] chars = { 'a', 'b', 'b', 'b', 'b', 'c', &#...

2019-05-31 11:51:04

阅读数 253

评论数 0

原创 视图与索引

视图 为什么需要视图 有时候没有必要向用户展示完整的表的模型(所有字段信息) 表中某些涉及安全,隐私或权限的字段需要对用户隐藏 综上,视图安全及易于使用 什么是视图 SQL允许通过查询来定义“虚关系”(又称作虚表,并不会真的去建立物理存储表,所存储的只是SQL查询逻辑代码。类似于方法定义...

2019-05-28 12:49:11

阅读数 36

评论数 0

转载 数据库集合运算

集合运算 SQL作用在关系(relation,就是指表)上的union、intersect和except运算对应于数学集合论中的∪, ∩和-运算 union、intersect和except运算与select子句不同,它们会自动去除重复 如果想保留所有重复,必须用union all、i...

2019-05-28 11:13:49

阅读数 220

评论数 0

原创 数据库的完整性约束

key:用于保证row(或称作元组,一条数据)的唯一性 super-key:能够区分唯一的row的集合 candidate key:super-key中最小集 primary key:candidate key中人工选择一个(一张表只能有一个或多个组成的联合主键) 举个例子:例如有stud...

2019-05-28 10:36:29

阅读数 180

评论数 0

原创 SQL字符串匹配和运算

匹配 百分号(%):匹配任意子串 select dept_name from department where building like ‘%Watson’; (或前缀匹配Watson%) 下划线(_):匹配任意单个字符 select dept_name from department...

2019-05-28 09:58:58

阅读数 330

评论数 0

原创 快速排序

private static void quickSort(int left, int right, int[] array) { if (left > right) { return; } int leftIndex = left, rightIndex = right...

2019-04-10 15:40:23

阅读数 66

评论数 0

原创 记一个由于依赖管理糟糕踩的坑

public void someMethod(long uid){ set.add(uid); po.setString(JSON.toJSONString(set)); } // 这段代码是web项目的,online会调用 someMethod(long)很简单,就是将存储...

2019-04-02 10:56:05

阅读数 51

评论数 0

原创 switch和枚举的小坑

工作项目中的online和room有使用到反射,在一次加需求的时候,发现了某实现类中有众多if else,看着实在难受。于是,手动"优化"成switch,结果发现online和room启动报错了。一开始怎么也没想到是众多if el...

2018-10-31 17:31:37

阅读数 617

评论数 0

原创 java内存模型浅谈

并发编程模型的分类 命令式编程中,线程之间通信方式有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。 在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确的发送消息来显式进行通信。 同步是指程序用于控...

2018-09-23 11:13:40

阅读数 88

评论数 0

原创 java生产者消费者

public class ProviderConsumer { private static final int MAX_CAPACITY = 16; private static Lock lock = new ReentrantLock(); private stati...

2018-08-26 10:54:03

阅读数 120

评论数 0

转载 java.lang.ArrayStoreException:sun.reflect.annotation.TypeNotPresentExceptionProxy

<dependency> <groupId>org.springframework.boot</groupId> <art...

2018-08-26 10:39:06

阅读数 7630

评论数 0

转载 pip install - locale.Error: unsupported locale setting

mac或linux 执行export LC_ALL=C

2018-08-04 13:30:08

阅读数 44

评论数 0

原创 Tools -- 持续更新

Tools windows 包管理工具 chocolatey scoop cmder – 第三方命令行工具 fd filename – 第三方文件查找工具 .\ filename – 打开文件命令 xmind zen –思维导图工具,可直接导入到印象笔记 linux ack-grep ...

2018-07-21 17:02:07

阅读数 87

评论数 0

转载 IDEA启动tomcat报java.net.SocketException:socket closed

处理方法 netstat -aon|findstr "tomcat start port"根据tomcat的启动端口找到被占用的进程id taskkill -f -pid xxx 强制kill该进程 该进程基本是java.exe,可能是某个java应用程序自启动了吧!这是我...

2018-07-21 16:44:58

阅读数 5746

评论数 2

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