自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 Markdown编辑器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-05-15 16:52:01 408

转载 Java的值传递和引用传递

本文旨在用最通俗的语言讲述最枯燥的基本知识学过Java基础的人都知道:值传递和引用传递是初次接触Java时的一个难点,有时候记得了语法却记不得怎么实际运用,有时候会的了运用却解释不出原理,而且坊间讨论的话题又是充满争议:有的论坛帖子说Java只有值传递,有的博客说两者皆有;这让人有点摸不着头脑,下面我们就这个话题做一些探讨,对书籍、对论坛博客的说法,做一次考证,以得出信得过的答案。其实,对...

2018-11-04 15:44:25 145

原创 一个死锁

public class CodeTest implements Runnable { private boolean flag; private static Object o1 = new Object(), o2 = new Object(); CodeTest(boolean flag) { this.flag = flag; } @Override public ...

2018-10-31 10:29:09 146

转载 JVM调优

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

2018-10-30 21:46:49 131

转载 一些软件设计原则

 Don’t Repeat Yourself (DRY)DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。参考:h...

2018-10-30 17:08:00 212

原创 SQL多表查询

基本格式 select * from emp, dept, (select * from emp)wheregroup byhavingorder bylimitMySQL关键字执行的优先级from 表where 条件group by 字段形成虚拟的表及字段,聚合及字段添加having 筛选数据distinct 去重order by 字段 asc...

2018-10-29 14:18:34 195

转载 MySQL最常用分组聚合函数

一、聚合函数(aggregation function)---也就是组函数  在一个行的集合(一组行)上进行操作,对每个组给一个结果。常用的组函数: AVG([distinct] expr) 求平均值 COUNT({*|[distinct] } expr) 统计行的数量 MAX([distinct...

2018-10-28 20:23:17 149

转载 SQL查询语句

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'...

2018-10-27 19:35:52 561

转载 索引和锁底层原理

一、索引在之前,我对索引有以下的认知: 索引可以加快数据库的检索速度; 表经常进行INSERT/UPDATE/DELETE操作就不要建立索引了,换言之:索引会降低插入、删除、修改等维护任务的速度; 索引需要占物理和数据空间; 了解过索引的最左匹配原则; 知道索引的分类:聚集索引和非聚集索引; Mysql支持Hash索引和B+树索引两种;...

2018-10-16 11:21:25 190

转载 Java7/8 中的 HashMap 和 ConcurrentHashMap

阅读建议:四节基本上可以进行独立阅读,建议初学者可按照 Java7 HashMap -> Java7 ConcurrentHashMap -> Java8 HashMap -> Java8 ConcurrentHashMap 顺序进行阅读,可适当降低阅读门槛。阅读前提:本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、Reentran...

2018-10-15 19:27:39 122

转载 Java设计模式

设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属 Gang of Four (GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。有一些重要的设计原则在开篇和大家分享下,这些原则将贯通全文:面向接口编程,而不是面向实现。这个很重要,也是优雅的、可扩展的代码的第一步,这就不需要多说了...

2018-10-15 17:30:21 133

转载 多线程同步集合和并发集合

Java多线程之同步集合和并发集合不管是同步集合还是并发集合他们都支持线程安全,他们之间主要的区别体现在性能和可扩展性,还有他们如何实现的线程安全。同步集合类Hashtable Vector 同步集合包装类,Collections.synchronizedMap()和Collections.synchronizedList() 并发集合类ConcurrentHashMap ...

2018-10-15 17:25:34 698

转载 并发&设计模式&开源框架&NIO&JVM&一些技术实践

Java 并发主要关注 java 并发相关的知识,同时重点分析 java.util.concurrent 这个包下面的源码实现。一行一行源码分析清楚 AbstractQueuedSynchronizer 一行一行源码分析清楚 AbstractQueuedSynchronizer(二) 一行一行源码分析清楚 AbstractQueuedSynchronizer(三) 解读 Java 并...

2018-10-15 17:01:09 106

转载 CopyOnWriteArrayList

CopyOnWriteArrayList实现原理及源码分析  CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读操作无锁的ArrayList,写操作则通过创建底层数组的新副本来实现,是一种读写分离的并发策略,我们也可以称这种容器为"写时复制器",Java并发包中类似的容器还有CopyOnWriteSet。本文会对CopyOnWriteArrayLi...

2018-10-15 16:56:32 122

翻译 Redis持久化

Redis PersistenceRedis提供了不同的持久性选项:RDB持久性以指定的时间间隔执行数据集的时间点快照。 AOF持久性记录服务器接收的每个写操作,将在服务器启动时再次播放,重建原始数据集。使用与Redis协议本身相同的格式以仅追加方式记录命令。当Redis太大时,Redis能够重写日志背景。 如果您愿意,只要服务器正在运行,您就可以根据需要禁用持久性。 可以在同一实例...

2018-10-15 16:54:53 839

转载 直观地打印一颗二叉树

/** * 直观的打印一颗二叉树 * * @author Administrator * */public class Code02_PrintBinaryTree { public static class Node { public int value; public Node left; public Node right; public Node(int ...

2018-09-27 15:23:05 730

原创 java面试题

java内存模型Java虚拟机规范中将Java运行时数据分为六种。1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。2.Java虚拟机栈:线程私有的,与线程生命周期相同,用于存储局部变量表,操作栈,方法返...

2018-09-27 10:42:37 126

原创 算法入门-队栈互换

import java.util.LinkedList;import java.util.Queue;import java.util.Stack;/** * 如何仅用队列结构实现栈结构? * 如何仅用栈结构实现队列结构? * @author Administrator * */public class Code03_QueueAndStackConvert { // 仅...

2018-09-22 14:49:26 185

原创 算法入门-排序

快速排序

2018-09-22 14:23:50 126

原创 算法入门-数组

package niuke.class01;/** * 在行列都排好序的矩阵中找数 * 【题目】 给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一 列都是排好序的。 * 实现一个函数,判断K是否在matrix中。 * 例如: 0 1 2 5 * 2 3 4 7 * 4 4 4 8 * 5 7 ...

2018-09-22 14:07:30 120

原创 算法入门-链表

package niuke.class01;import java.util.Stack;/** * 判断一个链表是否为回文结构 * 【题目】 给定一个链表的头节点head,请判断该链表是否为回文结构。 * 例如: 1->2->1,返回true。 1->2-&a

2018-09-22 13:44:48 319

原创 算法入门-归并排序

package niuke.class01;/** * 归并排序 * @author Administrator * */public class Code01_MergeSort { // 入口 public static void mergeSort(int[] arr){ if(arr == null || arr.length < 2) return ...

2018-09-21 20:37:41 117

空空如也

空空如也

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

TA关注的人

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