自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Acder的专栏

永不止步

  • 博客(183)
  • 资源 (1)
  • 收藏
  • 关注

原创 虚拟机 永久代和元空间

在 JDK 1.7 及以往的 JDK 版本中,Java 类信息、常量池、静态变量都存储在 Perm(永久代)里。类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉类的元数据和静态变量。当然常量池的东西也会在 Perm 垃圾收集的时候进行处理。JDK 1.8 的对 JVM 架构的改造将类元数据放到本地内存中,另外,将常量池和静态变量放到 Java 堆里。HotSopt VM 将会为类的元数据明确分配和释放本地内存。在这种架构下,类元信息就突破了原来 -XX:

2021-12-19 16:59:40 121

原创 查看当前服务使用的垃圾收集器

1 命令java -XX:+PrintCommandLineFlags -version2 输出内容: -XX:InitialHeapSize=2147483648 -XX:MaxHeapSize=32210157568 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGCjava version "1.8.0_65"Java(TM) SE ..

2021-09-27 10:42:53 367

原创 算法题目整理

1对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。给定字符串A以及它的长度n,请返回最长回文子串的长度解析:动态规划定义二维数组dp[length][length],如果dp[left][right]为true,则表示字符串从left到right是回文子串,如果dp[left][right]为false,则表示字符串从left到right不是回文子串。如果dp[left+1][right-1]为true,我们判断s.charAt(left)和s.charAt(right.

2021-09-08 23:15:28 105

原创 常见面试题目整理

一 数据库相关 1 数据库分库分表 https://www.jianshu.com/p/05da0fc0950e

2021-08-07 16:13:35 154

原创 java单例模式

基于双重检查的单例模式public class Singleton { // 通过volatile关键字来确保安全,必需添加volatile //来防止指令重排序 private volatile static Singleton singleton; private Singleton(){} public static Singleton getInstance(){ if(singleton == null){

2021-05-23 13:05:22 51

原创 hashMap资料整理

https://tech.meituan.com/2016/06/24/java-hashmap.htmlhttps://juejin.cn/post/6844904013909983245

2021-04-28 07:14:11 51

原创 字符串比较常见面试题

1 说出字符串比较后的结果package string; public class Demo2_String { public static void main(String[] args) { String st1 = "abc"; //常量池中创建字符串’abc‘ String st2 = "abc"; //发现常量池中已经存在对象’abc‘ 直接复用 System.out.println(st1 == st2); // System.out

2021-04-10 08:40:11 132

原创 深入理解String.intern

一 字符串概述在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种直接使用双引号声明出来的String对象会直接存储在常量池中。 如果不是用双引号声明的String对象,可以使用String提供的intern方法。intern 方法会从字符串常量池中查询当前字符串..

2021-04-08 08:58:49 82

原创 3 强引用,软引用,弱引用,幻象引用都有什么区别

一 不同引用类型的区别 不同的引用类型,主要体现的是对象不同的可达性状态和对垃圾收集的影响。1.1强引用 特定:强引用就是我们最常见的普通对象引用,我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于一个普通的对象,如果没有其他的引...

2021-04-07 08:26:21 61

原创 final,finally, finalize有什么不同

final final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)finally finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作finalizefinalize 是基础...

2021-04-01 08:19:12 48

原创 java异常体系学习

java异常处理学习学习文章:https://www.cnblogs.com/aspirant/p/10790803.html考点解析:NoClassDefFoundError是一个错误(Error),而ClassNOtFoundException是一个异常,在Java中对于错误和异常的处理是不同的,我们可以从异常中恢复程序但却不应该尝试从错误中恢复程序。ClassNotFoundException的产生原因:Java支持使用Class.forName方法来动态地加载类,任意一个类的..

2021-03-31 08:20:33 52

原创 Split Temporary Variabe(分解临时变量)

一 使用场景 临时变量被赋值超过一个,它既不循环变量也不是被用于收集计算结果,赋值超过一次,意味着它们在函数中承担了一个以上的责任。如果临时变量承担了多个责任,它就应该被替换成多个临时变量,每个临时变量程度一个责任,同一个临时变量程度两件不同的责任,会令代码阅读者糊涂。二 做法 1 将新的临时变量声明为final。 2 以临时变量的第二次赋值动作为界,修改此前对临时变量的所有...

2019-03-05 22:07:16 155

原创 Replace Temp with Query( 以查询取代临时变量)

一 次重构方式是用说明 临时变量只被赋值一次,校验是否只被赋值一次方式,将临时变量修饰符改成final类型,编译器无报错则证明只被赋值一次。 临时变量提到单独查询函数中,保证其他引用方法,不用写重复代码。二 使用实例//包含两个临时变量double getPrice() { int basePrice = quantity * itemP...

2019-03-05 07:26:45 1322 1

原创 threadPoolExecutor源码简析

线程池状态* RUNNING: Accept new tasks and process queued tasks //执行中* SHUTDOWN: Don't accept new tasks, but process queued tasks //继续处理队列中的任务* STOP: Don't accept new tasks, don't process queued tasks...

2018-09-02 10:25:19 116

原创 读写锁学习记录

/** * 写锁获取过程 * @param acquires * @return */ protected final boolean tryAcquire(int acquires) { Thread current = Thread.currentThread(); int c = getState(); //...

2018-05-19 17:14:20 165

原创 volatile学习记录

一 volatile关键字第一:使用volatile关键字会强制将修改的值立即写入主存;(修改后强制回写到主存,普通变量修改后写回主存时间不确定)第二:使用volatile关键字的话,当线程2进行修改时,会导致线程1的工作内存中缓存变量stop的缓存行无效(反映到硬件层的话,就是CPU的L1 或者L2缓存中对应的缓存行无效,cpu缓存的最下单位);第三:由于线程1的工作内存中缓存变量stop的...

2018-05-04 08:06:33 225

原创 单例模式学习记录

/** * 饿汉试 * Created by jw.chen on 2018/4/30. */public class SingletonDemo1 { //注意修饰符为私有的private private static SingletonDemo1 singleton = new SingletonDemo1(); //注意构造方法一定要用private防止外部...

2018-04-30 17:46:28 103

原创 notify,wait,condition实现生产消费者模型

1 wait()和notify实现生产消费者模型package com.qunar.conditionTest;import java.util.PriorityQueue;/** * Created by chen on 2018/4/22. */public class Testwaitnotify { private int queueSize = 10; p...

2018-04-22 11:16:46 222

原创 >>与>>>区别

今天看hashMap源码,看到做位运算的时候,用的是>>>移动位运算,于是乎查了下>>与>>>的用法15 >> 2 = 315 >>> 2 = 3就是将15除以4 二进制操作0000 1111 >> 2 = 00000011 = 3,低位被丢失了0000 1111 >>&a

2018-04-21 20:48:19 1535

原创 面试题目链接汇总

java经典面试题https://blog.csdn.net/achiberx/article/details/73289511#comments

2018-04-15 16:11:21 129

原创 java invoke详解

感觉介绍比较详细的一篇文章https://www.cnblogs.com/onlywujun/p/3519037.html

2018-04-03 18:55:04 1009

原创 读写锁demo

package com.qunar.thread.readwriteLock;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concu

2018-01-11 22:35:28 299

原创 Effective Java学习记录

1 Builder模式  package com.qunar.bean;/** * Created by chenjunwei on 2017/11/6. */public class Student { private String name; private int age; private String sex; private String

2017-11-06 11:12:24 133

原创 ApplicationContextAware 获取任意bean信息

@Componentpublic class SpringAppContextUtil implements ApplicationContextAware { private static ApplicationContext applicationContextHolder; @Override public void setApplicationContext(A

2017-08-08 15:01:17 428

原创 elasticsearch入门学习

一,索引添加curl -X PUT 'http://localhost:9200//website/blog/123' -d'{  "title": "My first blog entry",  "text":  "Just trying this out...",  "date":  "2014/01/01"}'二 查询  curl -X GET htt

2017-03-20 22:47:13 221

原创 简单springmvc搭建流程

web.xml文件配置 springmvc19_day01_01 characterEncoding org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8

2016-04-11 20:25:38 345

原创 linux基础命令

软链接  ln -s  要创建软链接的文件  软链接名称  类是于window的快捷方式硬链接  ln  要创建软链接的文件  硬链接名称    类是于 cp + 同步更新chmod u+x  file  给所有者x权限chmod 640 filesu -  用户名  切换用户添加用户 useradd 新用户名passwd 输入密码

2015-10-12 20:42:30 407

原创 ubuntu14.04 flash安装

下载安装包:  apt-get update安装flash sudo apt-get install flashplugin-nonfree 所有程序执行成功后即可看视频啦

2015-09-28 18:05:33 477

原创 Spring JdbcTemplate笔记

xml配置文件context:annotation-config /> //加入注解context:component-scan base-package="foo.bar"/> //批量扫描该包下的类context:property-placeholder location="dp.properties">context:property-placeholder> //

2015-08-09 16:20:08 374

转载 git如何clone所有的远程分支

git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:1. 找一个干净目录,假设是git_work2. cd git_work3. git clone http://myrepo.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录4. cd project5. git branch

2015-05-26 16:18:27 459

原创 zoj3872

#include #include #include #include using namespace std;const int M = 100005;int num[M];long long dp[M];long long check(int i){ long long s = 0; for(int k = i -1; k >= 1; k--){

2015-04-26 20:26:31 655

原创 求子数组的最大和(数组)

#include #include #include using namespace std;int findGreatsubsum(const int *a, const int size){ int cursum = 0; int maxnsum = -99999999; for(int i = 0; i < size; i++){ cu

2015-04-13 16:17:34 405

转载 设计包含min函数的栈(栈)

#include #include #include using namespace std;template class StackWithMin{private: stack datastack; stack minstack;//存最小值而不是最小值的下标public: void push(const T &data) {

2015-04-13 15:59:05 345

转载 把二元查找树转变成排序的双向链表

#include using namespace std;struct BSTreeNode{ int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of node BSTreeNode *m_pRight; // right child of node};void addBSTr

2015-04-13 14:45:35 374

转载 C++引用传递和值传递

从概念上讲。指针从本质上讲就是存放变量地址 的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它 的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++ 中,指针和引用经常用于函数的参数传递,然而,指针

2015-04-13 14:36:31 535

转载 最大公共序列

#include "stdio.h"#include "string.h"#include "stdlib.h"int longest_common_substring(char *str1, char *str2){ int i,j,k,len1,len2,max,x,y; len1 = strlen(str1); len2 = strlen(str2);

2015-04-02 14:57:41 336

转载 C++中堆栈 堆和栈的区别

C++中堆栈,堆和栈的区别分类: C++ 基础2012-12-06 22:15 3993人阅读 评论(0) 收藏 举报cCc++C++编译器堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、

2015-04-02 14:16:04 673

原创 多少分

#include #include #include using namespace std;bool IspopOrder(const int *pPush, const int *pPop, int length){        bool possible = false;        if(pPush != NULL &&

2015-04-01 20:30:09 365

原创 剑指offer题目集

http://blog.csdn.net/htyurencaotang/article/category/1187463

2015-04-01 20:04:55 566

原创 顺时针打印矩阵

void PrintMatrixInCircle(int** number, int columns, int rows, int startY, int startX){ int endX = rows - startY -1; int endY = columns - startX -1; //向左输出数组中的值; for(int i = startY; i

2014-12-30 21:12:55 523

网页设计模板 原创

网页设计 基本模板 可以帮助你 网页设计作业

2013-05-10

空空如也

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

TA关注的人

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