自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 权重随机选举算法

public class Weight {private TreeMap<Double, Integer> weightMap = new TreeMap<Double, Integer>();public WeightRandom(List<Person> list) {// if(Collections.) {System.out....

2019-03-03 20:41:07 645

转载 java_父类与子类 类型转换问题

public class TestObjectConvert {public static void main(String[] args) {test1();test2();}private static void test1() { Fruit fruit1 = new Fruit(); Apple apple1 = new Apple(); apple1 = (A...

2018-11-26 14:55:45 454

原创 mysql分析sql性能

Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where …]例如:explain select * from news;输出:+—-+————-+...

2018-08-14 13:39:13 1957

转载 AtomicInteger源码及CAS深度分析

1、原子类可以实现一些原子操作基于CAS 下面就以AtomicInteger为例。2、AtomicInteger在没有AtomicInteger之前,对于一个Integer的线程安全操作,是需要使用同步锁来实现的,当然现在也可以通过ReentrantLock来实现,但是最好最方便的实现方式是采用AtomicInteger。具体示例:package com.colle...

2018-07-30 16:24:51 292

转载 百元百鸡-经典算法

百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。分析:估计现在小学生都能手工推算这套题,只不过我们用计算机来推算,我们可以设公鸡为x,母鸡为y,小鸡为z,那么我们 可以得出如下的不定方程, x+y+z=...

2018-07-24 09:59:15 43326 10

原创 java 中的instanceof 的理解

java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法: result = object instanceof class result = this instanceof class 参数: Result:布尔类型。 Object:必选项。...

2018-07-06 14:13:02 265

转载 单例模式 - 单例注册表与 Spring 实现单例剖析

在 Spring 中,单例模式是十分常用的,因为 Spring Bean 默认是单例模式,即只有一个共享的实例存在,所有对这个 Bean 的请求都会返回这个唯一的实例。 单例注册表 首先,我们先来写一个案例。这个案例中,我们通过 Map 缓存单例对象,实现单例注册表。值得注意的是,我采用了 ConcurrentHashMap 是出于线程安全的考量。public class Single...

2018-07-05 14:42:35 3899

转载 springMVC:HandlerInterceptor拦截器的使用及场景

1.使用背景 Web项目中需要判断http接口用户Post上来的数据是否合法,如果不合法要另做处理,用户Post上来的数据是Json形式的,我们用了@RequestBody标记自动将json形式的提交封装为一个Model对象,这样一来,我们就不能判断在自动封装过程中是否出现了异常,此时便想起了springMVC中的interceptor,用于处理请求之前,做一些处理,我们可以取消@Request...

2018-04-19 09:35:37 947

转载 transient 和 序列化 的用途及使用方法

1,transient的用途及使用方法1,用途  我们知道,当一个对象实现了Serilizable接口,这个对象就可以被序列化,我们不关心其内在的原理,只需要了解这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。而在开发过程中,我们可能要求:当对象被序列化时(写入字节序列到目标文件)时,有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏...

2018-03-25 16:06:57 283

原创 数据库DDL_DML_DCL

DDL(字段) : drop alter truncate DML(数据) : select insert update delete merge DCL是 grant revoke

2018-03-22 16:47:31 133

原创 算法_代码(字符串是否有效)

给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。括号必须以正确的顺序关闭,”()” 和 “()[]{}” 是有效的但是 “(]” 和 “([)]” 不是。 -- 实现方法一 public boolean isValid(String s) { if (null == s || s...

2018-03-21 14:30:02 352

转载 提高高并发下访问的效率的手段

常见的提高高并发下访问的效率的手段 首先要了解高并发的的瓶颈在哪里? 1、可能是服务器网络带宽不够 2.可能web线程连接数不够 3.可能数据库连接查询上不去。 根据不同的情况,解决思路也不同。 1. 像第一种情况可以增加网络带宽,DNS域名解析分发多台服务器。 2. 负载均衡,前置代理服务器nginx、apac...

2018-03-19 10:12:50 651

转载 排序方法及时间复杂度

1、插入排序——直接插入排序、希尔排序 (1)直接插入排序思路:从第1号元素开始,每个元素依次与前面的元素做比较,小的排前面,这样当比较到最后一 个元素完即完成排序。 (2)希尔排序思路: 首先以d1(0 < d1< n-1 ) 为步长, 把数组A中n个元素分为d1个组,使下标距离为d1的元素在同一组中;接着在每个组内进行直接插入排序;接着在以d2为步长(d2...

2018-03-18 12:05:56 977

转载 CMS介绍和过程分析

CMS介绍: CMS(Concurrent Mark-Sweep)(并发 标记-清除)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程 初始标记(STW ini...

2018-03-17 19:41:43 9304 1

转载 CMS GC日志和算法过程

一次CMS GC问题排查过程(理解原理+读懂GC日志)参考链接: http://iamzhongyong.iteye.com/blog/1989829

2018-03-17 17:13:05 738

转载 JVM 运行时内存使用情况监控_(1)

JVM 运行时内存使用情况监控1 . jmap : 内存占用情况查询 (位于”jdk_home/bin”目录下)2 . jstack : 进程所包含线程情况查询 (位于”jdk_home/bin”目录下)3 . jstat: 可以实时监测系统资源占用与jvm运行情况 (位于”jdk_home/bin”目录下)4 . jconsole 以GUI的方式更直观化呈现jvm进程的实时情况,...

2018-03-17 17:09:10 180

转载 GC回收算法

JVM常见垃圾回收算法引用计数器算法: 如果引用计数器为0则表示没有其它地方在引用它。 (缺点: 对象循环引用。对象A指向B,对象B反过来指向A,此时它们的引用计数器都不为0,则无法进行垃圾回收) 可达性分析算法: 有效地避免对象循环引用的情况,整个对象实例以一个树呈现,根节点是一个称为“GC Roots”(根搜索算法)的对象。(遍历完这棵树过后,未被标记的对象就会判断“已死”,...

2018-03-17 16:19:59 176

原创 java虚拟机的基本结构介绍

java虚拟机的基本结构:类加载子系统: 负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间java堆 : 虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中。堆空间是所有线程共享的直接内存 : 在java堆外的、直接向系统申请的内存空间。通常访问直接内存的速度会优于java堆。因此出于性能的考虑...

2018-03-17 15:50:46 132

原创 乐观锁和悲观锁的分析区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过...

2018-03-16 15:12:06 142

转载 java开发,从不同方面提高系统性能

提高系统性能可以从几个方面考虑JVM虚拟机配置 JEE容器中运行的JVM参数配置参数的正确使用直接关系到整个系统的性能和处理能力 1.1.HeapSize 堆的大小 1.2.GarbageCollector 通过配置相关的参数进行Java中的垃圾收集器的4个算法(策略)进行使用。 1.3.StackSize ...

2018-03-16 14:50:42 295

转载 Java 基础巩固:内部类的字节码学习和实战使用场景

http://blog.csdn.net/u011240877/article/details/78682097

2018-03-09 17:08:01 101

转载 JVM调优

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

2018-03-03 10:57:42 94

转载 JDK 1.7源码阅读笔记(四)集合类之Arrays 源码分析

  一、前言   (1)Arrays包含用来操作数组(比如排序和搜索)的各种方法。Arrays提供的方法都是静态方法,Arrays的构造函数是私有的,也就是不能被实例化。   (2)包含一个允许将数组作为列表来查看的静态工厂。   (3)除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。   (4)涉及的排序算法简单介绍...

2018-03-02 17:32:51 153

转载 Java 常用工具类 Collections 源码分析

Collections链接: http://blog.csdn.net/u011240877/article/details/78348578补充: 源码中用的Arrays.sort() 源码分析 http://blog.csdn.net/longlong2015/article/details/48179465

2018-03-01 16:08:57 88

转载 hashMap源码分析

hashMap源码分析:http://blog.csdn.net/carson_ho/article/details/79373026

2018-03-01 16:00:39 115

转载 JAVA面试总结

JAVA面试总结: http://www.cnblogs.com/fysola/p/6557625.htmlJ2EE问题总结:java常见问题: http://blog.csdn.net/rchm8519/article/details/41624381测试常见问题: http://www.51testing.com/html/49/240349-143936.html...

2018-03-01 15:53:13 98

转载 mysql 慢查询以及常用命令(一)

一、简介开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。二、参数说明slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录) long_query_time 查询超过多少秒才记录

2018-02-02 10:04:17 544

转载 mysql与oracle大小写区分

MySQL的大小写问题 不是一个很大的问题,但是如果不了解的话,却会使用户产生迷惑 ;如下面Sql代码 insert into t values(‘A’); insert into t values(‘a’); 当第二条执行的时候,如果是主键或者有唯一性约束的话,会发生Sql代码 Duplicate entry for XXX 更加迷惑的是下面的2条语句Java代码

2018-01-31 09:09:11 1235

转载 集合排序Collections.sort的用法

1. 重写Comparable中compareTo方法 或者 Comparator中compare方法 有两种方法 1.在代码块实现 2.在对象中重写compareTo方法1.1 在代码块实现 TestA是对象 1. Collections.sort(listA, new Comparator<TestA>() { @Overr...

2018-01-18 14:10:36 766

原创 eclipse 删除所有注释及空白行

(全局替换Ctrl+F中正则表达式)删除所有/* */ : /*{1,2}[\s\S]*?*/ (全局替换Ctrl+F中正则表达式)删除// : \/\/.* (全局替换Ctrl+F中正则表达式)删除空行: ^\s*\n 删除xml注释:

2017-11-30 20:27:25 217

原创 JAVA_String之trim()源码

String中trim()源码解释public String trim() { int arg0 = this.value.length;//得到此字符串的长度 int arg1 = 0;        //声明一个int 值,并赋值为0 char[] arg2;         //声明一个char数组 for (arg2 = thi

2017-11-30 19:42:18 810

原创 JAVA数值保留小数点后两位,千分位加","

BigDecimal usableAndFrozenMoney = new BigDecimal("100")// 若数值为0 -->此处有问题// java.text.DecimalFormat numberFormat = new java.text.DecimalFormat("#,###0.00");java.text.DecimalFormat numberFormat = n

2017-11-30 15:30:59 1831

转载 String 源码解析

/* 一个String对象str调用intern方法,会从常量池中返回一个内容和str相同的String对象,其地址在常量池中;如果池中不存在和str内容相同的String对象,则会在池中新生成一个内容和str相同的String对象,再返回这个对象,其地址也是在常量池中的。*/public native String intern();public static void main(Stri

2017-11-28 17:01:36 109

转载 mysql 单表更新和多表更新

mysql更新语句sql一、单表更新:UPDATE table nameSET name.column_name = new_valueWHERE name.column_name = some_value;二、多表更新: 1.级联更新UPDATE product p, product_price pp SET pp.price = pp.price * 0.8 WHERE p.pr

2017-11-15 16:58:58 412

转载 jdk1.8 ArrayList源码详解

一、ArrayList简介  ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类。  该类封装了一个动态再分配的Object[]数组,每一个类对象都有一个capacity属性,表示它们所封装的Object[]数组的长度,当向ArrayList中添加元素时,该属性值会自动增加。如果想ArrayList中添加大量元素,可使用ensureCapacity方法一次性增加capac

2017-11-14 14:11:18 308

原创 mysql数据库快捷键

ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+d (1):

2017-05-27 11:37:25 6943

转载 Maven中junit打包问题

1.scope标签的作用 <!-- 添加junit单元测试包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependen

2017-05-09 10:30:28 1306

原创 junit测试(win与linux环境)

Linux与win环境单元执行单元测试 1.需要引入相应的jar包 junit-4.4.jar spring-test-2.5.6.jar 注意:若是maven项目需要注意test ,将其注释掉 http://blog.csdn.net/kimylrong/article/details/503531612.简单代码实现 TestA.java

2017-05-09 10:24:36 1317

原创 ireport生成pdf文件

ireport生成pdf文件生成jrxml工具:iReport-4.6.0 范例如下:<?xml version="1.0" encoding="UTF-8" ?><!-- Created with iReport - A designer for JasperReports --><!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD R

2017-01-17 14:08:26 4352

原创 flySaucer生成pdf文件实现

flySaucer生成pdf文件实现import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import org.xhtmlrenderer.pdf.ITextFontResolver;import org.xhtmlrenderer.pdf.ITextRenderer;import com

2017-01-17 11:32:39 382

空空如也

空空如也

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

TA关注的人

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