自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用的linux命令

1.curlcurl命令是一个利用URL规则在命令行下工作的文件传输工具。exp:    curl  http://www.baidu.com

2017-12-31 21:37:31 279

转载 Spring事务传播机制和数据库隔离级别

Spring五个事务隔离级别和七个事务传播行为1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两 次读数据之间,由于第二个事务的修改,那么第一个事

2017-07-31 10:26:53 965

转载 ThreadLocal

ThreadLocal为每一个线程都提供了变量的副本,使得每个线程在某一时间访问到的并不是同一个对象,这样就隔离了多个线程对数据的数据共享Java代码  package test;    import java.util.Random;    class Student {      private int age;        public int getAge() {

2017-07-24 10:54:50 313

转载 java线程池源码解析

原作者:海子   出处:http://www.cnblogs.com/dolphin0520/    本文归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。       在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线

2017-07-24 09:42:32 320

转载 java4种线程池的使用

Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。

2017-07-23 18:00:08 239

转载 JVM垃圾回收器

在说到堆内存的时候我们提到了,堆内存是Java内存中区域最大的一部分,而且垃圾回收器主要就是回收这部分的内容。那么这篇就来介绍一下垃圾回收器的原理以及回收的算法。Java中的垃圾回收器(GC)是Java中比较有特色的一点,不需要我们手动的去管理一个对象,不想C++中的构造函数和析构函数一样,需要程序猿自己去手动的管理,很容易造成内存泄露的问题。当然如果学过OC语言的话,我们知道Oc语言中有自动

2017-07-13 11:15:02 336

转载 JVM的内存模型

首先来看一下Java中的内存模型图:第一、程序计数器(PC)程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来取下一条需要执行的字节码指令,分支、跳转、循环、异常处理、线程恢复等基础功能都需要这个计数器来完成注:程序计数器是线程私有的,每条线程都会有一个独立的程

2017-07-13 11:12:53 178

转载 JVM中的类加载器与双亲委派机制

类加载机制的第一个阶段加载做的工作有:1、通过一个类的全限定名(包名与类名)来获取定义此类的二进制字节流(Class文件)。而获取的方式,可以通过jar包、war包、网络中获取、JSP文件生成等方式。2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。这里只是转化了数据结构,并未合并数据。(方法区就是用来存放已被加载的类信息,常量,静态变量,编译后的代码的运行时内存区

2017-07-13 10:43:58 377

转载 JVM类加载机制

首先,在代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制字节流文件(*.class)。而JVM把Class文件中的类描述数据从文件加载到内存,并对数据进行校验、转换解析、初始化,使这些数据最终成为可以被JVM直接使用的Java类型,这个说来简单但实际复杂的过程叫做JVM的类加载机制。Class文件中的“类”从加载到JVM内存中,到卸载出内存过程有七个生命周期阶段。类加载机制

2017-07-13 10:32:25 202

原创 常见的数据结构

数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。栈是只能在某一端插入和删除的特殊线性表。它按照先进后出的原

2017-07-12 15:31:48 198

原创 LinkedList源码解析

首先放出类图然后是成员变量和构造方法 private transient Entry header = new Entry(null, null, null); private transient int size = 0; private static final long serialVersionUID = 876323262645176354L; public

2017-07-12 12:28:30 207

原创 ArrayList源码解析

ArrayList作为java集合框架里最基础的一环,它的底层是一个简单的数组先给出它的类图

2017-07-12 11:27:50 263

转载 Java中的transient关键字

一个对象只要实现了Serilizable接口,这个对象就可以被序列化,Java的这种序列化模式为开发者提供了很多便利,可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个的所有属性和方法都会自动序列化。但是有种情况是有些属性是不需要序列号的,所以就用到这个关键字。只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这

2017-07-12 09:58:11 194

转载 this关键字的使用

一,表示类中属性1,没有使用this的情况class Person{ // 定义Person类 private String name ; // 姓名 private int age ; // 年龄 public Person(String name,int age){ // 通过构造方法赋值

2017-07-12 09:53:18 275

原创 Spring-Mybatis源码分析

首先给出Spring-mybatis的配置文件 <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> mybatis-cfg.xm

2017-07-11 17:50:17 1346 1

原创 Spring源码分析

在Java EE项目中,Spring的载入时通过监听器实现的,无论是在SSH还是SSM,在web.xml都会有这样的配置 contextConfigLocation classpath*:cn/resources/applicationContext.xml org.springframework.web.context.ContextLoaderL

2017-07-11 12:33:53 211

原创 SpringMVC的实现源码分析

首先附上SpringMVC在web.xml中的基本配置 org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/applicationContext.xml,/WEB-INF/controllers.xml,/WEB-INF/service.xm

2017-07-11 12:05:29 277

转载 servlet必知细节(三)-- DefaultServlet

servlet必知细节(三)-- DefaultServlet缺省servlet:org.apache.catalina.servlets.DefaultServlet,作用是处理其他servlet处理不到的请求我们知道,在我们工程的web.xml中,会配置servlet映射,但是有些访问无法找到映射,如一些静态图片,一些js文件等,那服务器是如何返回给客户端的呢?要回答上面的问题,我

2017-07-11 10:12:34 969

转载 MySQL之数据库模型设计-1 第一范式、第二范式、第三范式理解

下面来介绍数据库模型设计之第一范式、第二范式、第三范式数据库范式一般满足第三范式足矣(1)第一范式(无重复的列) 定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性 通俗理解:一个字段只存储一项信息 For Example:班级:高三年1班,应改为2个字段,一个

2017-07-04 11:36:22 426

转载 数据库索引

1.  数据库系统维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。索引的实现通常使用B树及其变种B+树。        创建索引可以大大提高系统的性能。       第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。       第二、可以大大加快数据的检索速度,这也是创建索

2017-06-30 12:01:14 182

原创 JVM面试题

1.JVM内存分为哪几个区?每个区的作用?Java虚拟机主要分为以下一个区:方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个运行时常量

2017-06-28 11:10:35 289

转载 HashMap的实现原理

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,H

2017-06-27 12:03:09 167

转载 java动态代理

作者:雨夜偷牛的人链接:https://www.zhihu.com/question/20794107/answer/23330381来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近正好在看,特来挖坟。关于动态代理设计模式很可能题主就在不知不觉中使用了,例如Spring中的AOP,Struts2中的拦截器等。先来看静态代理模式代码:

2017-06-27 10:47:34 271 1

原创 冒泡排序(java实现)

规则:从小到大排序,举个最极端的例子,以便大家看清 ,有数组{ 9,8,7,6,5,4}交换结果依次如下: 987654  897654   879654 876954 876594 876549    第一趟   比较了 5次                                     876549   786549  768549 765849 765489      

2017-06-26 15:05:58 575

原创 Java基础面试题

1.输出下列代码结果class A { static { System.out.println("1"); } public A() { System.out.println("2"); }}class B extends A { static { System.out.println("a"); } public B() { System.out.pr

2017-06-23 16:11:57 497

转载 java中form以post、get方式提交数据中文乱码问题总结

一:form在前台以post方式提交数据:    浏览器将数据(假设为“中国”)发送给服务器的时候,将数据变成0101的二进制数据(假设为98 99)时必然要查码表,浏览器以哪个码表打开网页,浏览器就以哪个码表提交数据。数据到达服务器后,数据(98 99)要封装到request中,在servlet中调用Request的getParameter方法返回的是字符串(“中国”),方法内部拿到数字后要

2017-06-23 15:53:47 9121

原创 数据库面试题

1.用一条SQL语句 查询出每门课都大于80分的学生姓名name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90

2017-06-23 14:40:02 291

原创 Spring面试题

1.什么是Spring?Spring是一个开源的Java EE开发框架,Spring框架的目标是使得Java EE应用程序的开发更加简捷,通过使用POJO为基础的编程模型促进良好的编程风格。2.Spring主要有哪些模块?Spring有七大功能模块,分别是Spring Core,AOP,ORM,DAO,MVC,WEB,Content3.使用Spring的好处轻量级:Spring

2017-06-23 14:35:57 270

原创 什么是DML与DDL

SQL DML 和 DDL可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据UPDATE - 更新数据库表中的数据DELETE - 从数据库表中删除数据I

2017-06-04 16:50:25 7255

原创 关于group by 、group by having、where group by与 group by order by

现有表 scorename      kecheng     fenshu张三    语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90group by 的使用

2017-06-04 16:29:34 1493

原创 多线程面试题

(1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。(2) 线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间(3) 如何在Java中实现线程?可以继承java.lang.Thread 类或者直接调用Runn

2017-05-12 17:22:20 295

原创 I /O面试考点

1.java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?两种,字节流和字符流字节输入流:InputStream,字节输出流:OutputStream字符输入流:Reader,字符输出流:Writer2.什么是java序列化,如何实现java序列化?Java对象的序列化指将一个java对象写入OI流中,与此对应的是,对象的反

2017-05-12 17:06:42 2638 1

原创 希尔排序(java实现)

import java.util.Arrays;public class ShellSort { public static void main(String[] args) { int[] array = { 1, 4, 3, 6, 5, 8, 9, 2, 7, 0 }; ShellSort.shellSort(array); ; } private static voi

2017-03-26 15:57:45 213

原创 插入排序(java实现)

import java.util.Arrays;public class Test { public static void main(String[] args) { int[] array = { 80, 70, 50, 30, 99, 1 }; Test.insertSort(array); System.out.println(Arrays.toString(array

2017-03-26 15:05:13 257

原创 Spring中基于注解的AOP

Spring提供了基于注解的AOP。开启配置:在配置文件中配置前置通知切点类package cn.belle.test;public class HelloWorldService { public void sayBefore(String param) { System.out.println("我是前置通知"+param); }}切面类packa

2017-02-07 14:11:25 278

原创 Spring中基于xml的AOP

在Spring中,我们可以通过AOP标签来定义切面、切入点和通知。所有aop标签如下:                                       aop定义开始(有序)                                  切入点定义                                    通知定义            

2017-01-10 17:20:00 256

原创 SpringMVC中的参数自动匹配

SpringMVC中的Controller获取url后的参数有很简单方法:url : index.jsp?username=zhang&password=123 @RequestMapping(value = "test") public String test(String username, String password) { System.out.println(us

2017-01-09 11:01:55 3772

原创 SpringMVC中的转发和重定向

什么是转发和重定向?1.转发是在服务端完成的,重定向是在客户端完成的2.转发速度快,重定向速度慢3.转发是同一次请求,重定向是两次请求4.转发地址栏没有变化,重定向有变化5.转发是在同一台服务器,重定向不必。具体的举个例子,转发速度快,一般默认情况下用转发。但是有一些场景却不能用转发,比如我们登陆后要提交表单,如果用转发的话,当用户刷新页面,会造成重复提交。转发:

2017-01-09 10:45:42 1303

原创 SpringMVC中的请求映射规则

我们都知道,在SpringMVC中,一个HTTP请求经过DispatcherServlet需要经过一定的规则才能到达指定的Controller。SpringMVC给我们提供了多种配置来满足我们的需求。1.一个url地址@Controllerpublic class TestController { @RequestMapping(value="index.do") pub

2017-01-04 23:58:53 670

原创 八种基本数据类型的大小以及他们的封装类

Java中分为两大数据类型 :基本数据类型和引用数据类型基本数据类型分为8种:基本类型:byte 二进制位数:8包装类:java.lang.Byte最小值:Byte.MIN_VALUE=-128最大值:Byte.MAX_VALUE=127基本类型:short 二进制位数:16包装类:java.lang.Short最小值:Short.MIN_VALUE=-3276

2017-01-02 17:26:37 2182 1

空空如也

空空如也

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

TA关注的人

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