自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux环境下使用tomcat7.0部署solr5.3.0

安装solr下载地址:http://archive.apache.org/dist/lucene/solr/https://tomcat.apache.org/download-70.cgi1、解压solr[root@svn-server localhost]tar -zxvf solr-5.3.0.tgz2、将solr包移动到opt目录下:[root@svn-se...

2020-04-16 15:36:07 209

原创 华为机试题

看了一下华为的机试题,写了一下。发现想写的清晰有很多坑,仔细用关键数据调试才把程序写的相对完善。如下:有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶, * 方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借...

2019-11-07 14:47:25 286

转载 python3.5标准库中文版目录(人工翻译)

1. 简介 2. 函数 3. 常量 3.1. site模块中的附加常量 4. 内置类型 4.1. 真值测试 4.2. Boolean操作符 —and,or,not 4.3. 比较运算符--<,<=,>,>=,==,!=,is,is not 4.4. 数字类型 —int,float,complex 4.5. 数组类型Iterator...

2019-03-13 11:42:50 295

转载 Python 3.x标准模块库目录

文本1. string:通用字符串操作2. re:正则表达式操作3. difflib:差异计算工具4. textwrap:文本填充5. unicodedata:Unicode字符数据库6. stringprep:互联网字符串准备工具7. readline:GNU按行读取接口8. rlcompleter:GNU按行读取的实现函数二进制数据9. struc...

2019-03-13 11:41:51 306

转载 JSTl forEach

 <c:forEach>循环标签可以根据循环条件(通常和el表达式使用,el表达式我们有机会再说,在这里我就默认你会基本的el表达式了),遍历集合并从中取出我们想要的数据。如果在JSP页面中使用JAVA代码来遍历数据,会使页面非常混乱,不利于维护和分析。使用<c:forEach>循环标签可以是页面更加直观、简洁。      <c:forEach>有以下的属性...

2018-11-14 10:59:27 1236

转载 Java中八种基本数据类型占用字节空间总结

 基本数据类型 所占用空间大小byte b; 1字节short s; 2字节int i; 4字节long l; 8字节char c; 2字节(C语言中是1字节)float f; 4字节double d; 8字节boolean bool; false/true 1字节基本数据类型注意事项:1、未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮...

2018-08-17 13:48:55 7764

转载 java 各基本数据类型 所占有的字节数

 Int: 4 字节Short: 2字节Long: 8字节Byte: 1字节Character: 2字节Float: 4字节Double: 8字节Boolean:系统没有提供Size方法;  public class Calcsizof {   /** * @param args */ private static voi...

2018-08-17 13:45:44 151

转载 Java实现两个有序的单项链表的合并

 无意中看到一道题,如下:现有两个有序(升序)的单向链表,请编写程序将这两个链表合并成一个,并确保合并后的链表也是升序的单向升序链表定义:public class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}请在下面的代码框架基础上编写:public class Solution {pub...

2018-08-16 23:42:14 216

转载 合并两个有序链表,合并后依然有序

//合并两个有序链表,合并后依旧有序//当第一个链表是空链表就把它和第二个链表合并,结果是第二个链表;同样,第二个链表是空表,合并结果是第一个链表;如果两都是空链表,合并结果也是空链表//比较两个链表的头结点,小的作为合并后的头结点,在剩余节点中,再次比较两个链表的头结点Node* MergeList(Node* pHead1, Node* pHead2){if (pHead1 == ...

2018-08-16 23:08:28 371

转载 数据库事务与锁详解

什么是事务(Transaction)?是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。事务是...

2018-08-16 22:42:14 113

转载 数据库事务详解

概述事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。 ACID 事务具有4个基本特征,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Duration),简称ACID。 隔离级别 ACID这4个特征中,最难理解的是隔离性。在标准SQL规范中,定义了4个事务...

2018-08-16 22:38:21 119

转载 .集合Set,HashSet,TreeSet及其底层实现HashMap和红黑树;Collection总结

ONE.Set集合one.Set集合的特点 无序,唯一TWO.HashSet集合1.底层数据结构是哈希表(是一个元素为链表的数组)2.那么HashSet如何来实现元素的唯一性的呢?通过一HashSet添加字符串的案例查看HashSet中add()的源码,看为什么相同的字符串没有被加入HashSet中interface Collection {...}interf...

2018-08-16 13:23:02 1875

转载 mysql_建立索引的优缺点&性能优化

建立索引的优缺点:为什么要创建索引呢?        这是因为,创建索引可以大大提高系统的性能。         第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。         第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。         第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。         第四、在使...

2018-08-16 11:11:25 196

转载 Java中CAS详解

在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized可以加在方法...

2018-08-16 10:29:23 149

转载 Java常用的八种排序算法与代码实现

排序问题一直是程序员工作与面试的重点,今天特意整理研究下与大家共勉!这里列出8种常见的经典排序,基本涵盖了所有的排序算法。1.直接插入排序      我们经常会到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四个数、第五个数……直到最后一个数,重复第二步。如题所示:直接插入排序(St...

2018-08-16 09:53:31 101

转载 [高并发Java 二] 多线程基础

  1. 什么是线程线程是进程内的执行单元某个进程当中都有若干个线程。线程是进程内的执行单元。使用线程的原因是,进程的切换是非常重量级的操作,非常消耗资源。如果使用多进程,那么并发数相对来说不会很高。而线程是更细小的调度单元,更加轻量级,所以线程会较为广泛的用于并发设计。在Java当中线程的概念和操作系统级别线程的概念是类似的。事实上,Jvm将会把Java中的线程映...

2018-08-15 21:28:28 103

转载 [高并发Java 一] 前言

  1、关于高并发的几个重要概念1.1 同步和异步首先这里说的同步和异步是指函数/方法调用方面。很明显,同步调用会等待方法的返回,异步调用会瞬间返回,但是异步调用瞬间返回并不代表你的任务就完成了,他会在后台起个线程继续进行任务。1.2 并发和并行并发和并行在外在表象来说,是差不多的。由图所示,并行则是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一...

2018-08-15 21:24:10 106

转载 Java 强引用、软引用、弱引用、虚引用 和垃圾回收器的关系以及调优原理

一、背景大家知道Java是运行在虚拟机上的高级语言,而对于虚拟机,其中有一个特别重要的功能就是垃圾回收器(GC),通过GC机制Java程序可以非常智能的对垃圾进行回收,从而实现非常智能的内存管理,而不用向C或C++一样需要十分谨慎的自己去处理内存问题,从而避免了很多不必要的麻烦。那么GC机制是如何实现的呢?作为GC工作的主战场JVM 的堆内存,是如何去处理那些过期或者在资源紧缺的情况下对对象的...

2018-08-15 21:15:55 225

转载 JVM GC参数以及GC算法的应用

  之前一篇Blog已经将GC的机制以及GC的算法讲了一下。而这篇Blog主要是讨论这些GC的算法在JVM中的不同应用。1. 串行收集器串行收集器是最古老,最稳定以及效率高的收集器可能会产生较长的停顿,只使用一个线程去回收-XX:+UseSerialGC新生代、老年代使用串行回收 新生代复制算法 老年代标记-压缩 串行收集器的日志输出: 0.844:...

2018-08-15 21:08:46 116

转载 什么时候会发生FullGC

 堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生代即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor G...

2018-08-15 20:51:41 45538 13

转载 你能不能谈谈,Java GC是在什么时候,对什么东西,做了什么事情?

  GC地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?一.回答:什么时候?1.系统空闲的时候。    分析:这种回答大约占30%,遇到的话一般我就会准备转向别的话题,譬如算法、譬如SSH看看能否发掘一些他擅长的其他方面。2.系统自身决定,不可预测的时间/调用Sys...

2018-08-15 20:43:20 1997

转载 Java HashMap遍历方式性能探讨

  keySetentrySetHashMapMap.foreachlambda参与百度AI开发者大赛赢75万奖金+25万奖品,(提供教程)加群:418589053 >>>   关于HashMap的实现这里就不展开了,具体可以参考JDK7与JDK8中HashMap的实现JDK8之前,可以使用keySet或者entrySet来遍历HashMap,JDK8中引入了...

2018-08-15 20:37:33 112

转载 ConcurrentHashMap原理分析

    ConcurrentHashMap不变模式Segment锁分离曾经在 [高并发Java 五] JDK并发包1 中提到过ConcurrentHashMap,只是简单的提到了下ConcurrentHashMap的优点,以及大概的实现原理。而本文则重点介绍ConcurrentHashMap实现的细节。HashMap就不介绍了,具体请查看JDK7与JDK8中HashMa...

2018-08-15 20:11:16 127

原创 ConcurrentHashMap总结

并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,f...

2018-08-15 20:07:09 94

转载 hashMap线程不安全的原因及表现

hashMap出现线程不安全的原因: HashMap的实现里没有锁的机制,因此它是线程不安全的。其实只要有锁的机制,可以通过锁实现线程安全,我们在读写HashMap对象的时候加锁,以保障这个对象的线程安全,但不代表HashMap本身是线程安全的,因为是外力(你自己加的锁)使然。为啥不在HashMap内部加锁让它变成线程安全?这样会增加单线程访问的资源消耗,即使没有多线程访问,...

2018-08-15 20:03:36 8242

转载 Java并发编程:volatile关键字解析

Java并发编程:volatile关键字解析   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模...

2018-08-14 16:01:43 66

转载 volatile

先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性:  可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。  可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结...

2018-08-14 15:59:33 101

转载 java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁

 之前做过一个测试,详情见这篇文章《多线程 +1操作的几种实现方式,及效率对比》,当时对这个测试结果很疑惑,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高(当时感觉它的效率应该是最差才对); 2. AtomicInteger效率最不稳定,不同并发情况下表现不一样:短时间低并发下,效率比synchronized高,有时甚至比LongAdder还高出一点,但...

2018-08-14 15:22:45 79

转载 线程同步,对象级别锁,类级别锁

  同步一般是指在多线程中,在某一时刻,一个同步块代码只能在一个线程中执行。Java支持多线程执行,所以可能出现两个或者更多的线程访问同一个字段或者对象。同步是一个过程,保持所有并发线程同步执行。同步避免了因共享内存不一致的问题而引起的内存一致性错误。当一个方法声明为同步,并有一个线程持有这个方法对象的监视器,你的线程就会被阻塞,直到这个线程释放这个监视器。同步在Java中使用sy...

2018-08-14 15:17:45 168

转载 Java对象与JVM(一)  Java对象在Java虚拟机中的创建过程

         在《Java内存区域 JVM运行时数据区》文章了解到Java中几乎所有的实例对象存储在Java堆内存中。       下面我们详细了解Java程序中new一个普通对象时,HotSpot虚拟机是怎么样创建这个对象的,包括5个步骤:相应类加载检查过程、在Java堆中为对象分配内存、分配后内存初始化为零、对对象进行必要的设置、以及执行对象实例方法<init>,...

2018-08-14 10:21:07 780

原创 jvm内存分析

程序计数器        程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型中,字节码解释器工作时就说通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。java虚拟机栈      与程序计数器一样,java虚拟机栈也是线程私有的,它的生命周期与线程相同。虚拟机栈...

2018-08-14 10:18:28 261

转载 java内部类详解

 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎批评指正。  请尊重...

2018-08-13 16:47:14 77

原创 hashtable和hashMap的区别及属性properties的相关内容

一、Hashtable 与HashMap的区别 (面试题)1、主要:Hashtable线程安全,同步,效率相对低下    HashMap 线程不安全,非同步,效率相对高2、父类:Hashtable  是 Dictionary  HashMap 是 AbstractMap3、null: Hashtable键与值不能为null    HashMap 键最多一个null,值可以多个null二...

2018-08-13 16:10:30 138

原创 泛型的准则

父类为泛型类 那么子类继承父类的话 要么同时擦除泛型,要么子类大于父类的类型 不能子类擦除,而父类泛型 

2018-08-03 13:53:41 151

转载 java中创建线程的三种方法以及区别

 Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示:1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程下面让我们分别来看看这三种创建线程的方法。 ------------------------继承Thread类创建线程----...

2018-08-03 10:29:00 160

转载 Java的关键字与标识符

       Java作为一门编程语言,与其他语言一样,有字符集、标识符、和关键字、变量、常量、语句等编程语言的基本要素。1、关键字abstract boolean break byte case catch char class const continue default do double else ...

2018-08-03 10:19:09 124

转载 优化hibernate的7大措施

一、笼统的概括。1. 使用双向一对多关联,不使用单向一对多2. 灵活使用单向一对多关联3. 不用一对一,用多对一取代4. 配置对象缓存,不使用集合缓存5. 一对多集合使用Bag,多对多集合使用Set6. 继承类使用显式多态7. 表字段要少,表关联不要怕多,有二级缓存撑腰二、详细的讲解。1、在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严...

2018-08-03 10:14:18 1468

转载 深入理解 Java 垃圾回收机制

  一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及...

2018-08-03 10:07:08 85

原创 获取ServerConfig设置的参数值

getParameter()是获取post/get传递的参数值;getInitParameter获取Tomcat的server.xml中设置Context的初始化参数;getAttribute()是获取对象容器中的数据值;getRequestDispatcher是请求转发;...

2018-08-03 09:49:30 847

原创 DBMS中事务有四个特性

DBMS中事务有四个特性,持久性,一致性,原子性,隔离性,持久性实现恢复管理子系统,一致性实现并发控制子系统,原子性实现完整性管理子系统,隔离性实现安全控制管理子系统。...

2018-08-03 09:45:24 1195 3

空空如也

空空如也

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

TA关注的人

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