- 博客(31)
- 收藏
- 关注
转载 Hibernate与Mybatis的区别
最近在准备面试,在复习Hibernate和Mybatis。Hibernate和Mybatis在日常的开发中,都有使用到过。现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手。 1、开发速度的对比 从开发速度来说,Hibernate的真正掌握要比Mybatis难一些。Mybatis框架相对简单,很容易上手。但与此同...
2019-03-28 10:23:00
194
转载 Java动态代理和反射机制
反射机制 Java语言提供的一种基础功能,通过反射,我们可以操作这个类或对象,比如获取这个类中的方法、属性和构造方法等。 动态代理:分为JDK动态代理、cglib动态代理(spring中的动态代理)。 静态代理 预先(编译期间)确定了代理者与被代理者之间的关系,也就是说,若代理类在程序运行前就已经存在了,这种情况就叫静态代理 动态代理...
2019-01-23 17:20:00
254
转载 JSON对象和JSON字符串的区别
JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样var str2 = { "name": "deluyi", "sex": "man" };JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()它;var str1 = '{ "name": "deyuyi", "s...
2018-11-27 10:11:00
207
转载 JVM知识(五):垃圾回收算法
在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在执行某一个垃圾回收算法的时候产生,JVM为了执行垃圾回收,会暂时java应用程序的执行,等垃圾回收完成后,再继续运行。如果你使用JMeter测试过java程序,你可能会发现在测试过程中,java程序有不规则的停顿现象,其实这就是“stop the world...
2018-11-05 11:08:00
130
转载 JVM知识(四):GC配置参数
JVM配置参数分为三类参数:跟踪参数、堆分配参数、栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存。跟踪参数 跟踪参数用户跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查。1、当发生GC时,打印GC简要信息 使用-XX:+PrintGC或-verbose:gc参数 这两个配置参数效果是一...
2018-11-01 16:18:00
450
转载 JVM知识(三):内存模型和可见性
这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况。来聊聊java线程对一个变量的更新怎么通知另一个线程,及volatile的作用和指令重排序的问题。内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做呢,又或者说,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道ja...
2018-10-31 17:38:00
138
转载 JVM知识(二):类加载器原理
我们知道我们编写的java代码,会经过编译器编译成字节码(class文件),再把字节码文件装载到JVM中,最后映射到各个内存区域中,我们的程序就可以在内存中运行了。那么问题来了,这些字节码文件是怎么装载到JVM中去的呢。中间经过了哪些步骤?我们常说的双亲派模式又是怎么回事?本文就来说说这些问题。类加载器的流程1、加载 加载是类加载的第一步。它首先通过cl...
2018-10-30 14:20:00
134
转载 JVM知识(一):基础原理
学过java知识和技术人,都应该听说过jvm,jvm一直是java知识里面晋级阶段的重要部分,如果想要在java技术领域更深入一步,jvm是必须需要明白的知识点。本篇来讲解jvm的基础原理,先来熟悉一下大致的流程:JVM运行流程: 我们都知道java一直宣传的口号:一次编译,到处运行。也是它的跨平台性。这点的具体实现如下: java程序在经过一次编译之后,会将ja...
2018-10-18 16:23:00
119
转载 Mysql中的delimiter详解
初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程、触发器、函数等。学过oracle的人,再来学mysql就会感到很奇怪,百思不得其解。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号(;)。在命令行客户端中,如果有一行命令以分号结束,那么回...
2018-09-01 22:48:00
553
转载 JQuery this和$(this)的区别
this其实是一个Html 元素。$this 只是个变量名,加$是为说明其是个jquery对象。而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。先来看看JQuery中的 $() 这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以...
2018-08-21 14:49:00
84
转载 Java基础之JSONObject的使用
private static JSONObject createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject.put("username", "huangwuyi"); jsonObject.put("sex", "男"); ...
2018-07-05 15:52:00
181
转载 Java基础之基本数据类型的包装类型
Java的基本数据类型的包装数据类型有多种: int Integer,short Short,boolean Boolean,float Float,double Double等等。 Java包装类数据类型的基本作用,在于基本数据类型与String类型之间的转换。 基本数据类型转字符串类型: 基本数据类型+"" 基本数据类型.toStr...
2017-12-21 17:30:00
120
转载 Java基础之StringBuffer和StringBuilder的区别
StringBuffer是一个字符串的缓存类,属于一个容器,对于容器,我们可以进行增删改查。 StringBuffer的容器长度是可变的,并且里面可以存放多种的数据类型。它跟其他容器,比如数组,是很不一样的。StringBuffer要比较的灵活。 StringBuilder在功能上跟StringBuffer大致是一致的,唯一不同的是StringBuffer是线程安全的,是...
2017-12-21 17:22:00
108
转载 ElasticSearch初体验之使用
好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结。现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧。本文总共分为三个部分:一:ES相关基本概念及原理二:ES使用场景介绍三:使用Java进行ES的增删改查及代码讲解一:ES相关基本概念:ElasticSearch(简称ES)是一个基于Lucene...
2017-11-15 17:16:00
259
转载 oracle基础之游标的理解与使用
关于游标,首先要知道游标的定义。 游标,是内存中的一款区域,用来存放select的结果集 游标用来处理从数据库中检索的多行记录(使用select语句)。利用游标,程序可以逐个的处理和遍历一次索引返回的整个记录集。在数据库中,存在两种游标:一、显示游标(需要明确定义) 显示游标被用于处理返回多行数据的select语句,游标名通过CURSOR...IS语句显示的...
2017-10-20 16:49:00
146
转载 Java基础之创建实例化对象的方式
Java中创建(实例化)对象的五种方式 1、用new语句直接创建对象,这是最常见的创建对象的方法。 2、通过工厂方法返回对象,如:String str = String.valueOf(23); 3、运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。如:Object obj...
2017-07-28 17:25:00
131
转载 Quartz Cron表达式详解
Cron Expressions cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表。 <cron-expression>0 0 0 15 * ?</cron-expression>:每个月的15号执行一次 秒 分 时 日 月 年 0:表示凌晨,*表示任意时间 0 0/10 0 15 * ?:每个月的15号每10...
2017-07-27 16:18:00
180
转载 Java基础之PDF文件的合并
1、首先下载一个jar包:pdfbox-app-1.7.1.jar2、代码如下:package com;import java.io.File;import java.io.IOException;import org.apache.pdfbox.util.PDFMergerUtility;/** * PDF格式的图片合并 * */...
2017-07-27 16:13:00
156
转载 Maven入门详情
Maven的作用在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差jar包?每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。因此,我们就要用到Maven(使用Ant也可以,不过编写Ant的xml脚本...
2017-07-21 16:14:00
105
转载 Linux-文件目录命令
黑色代表是普通的文件蓝色代表是目录(文件夹)紫色代表是图片文件绿色代表是可以执行的文件(脚本文件)--》存放linux命令的红色代表是压缩文件clear:清屏pwd:显示当前路径cd:切换路径ll:打印出当前目录下的所有文件的详细信息,包括大小,是否可读写等ls:查看当前目录下的文件 -a 显示所有的文件(包括隐藏文件) -l 相当于ll dr...
2017-07-13 17:27:00
102
转载 Linux-vi/vim编辑器常用命令与用法
vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。为什么要学习vi/vim?...
2017-07-13 17:16:00
116
转载 Java基础之Map的遍历
遍历Map集合,有四种方法:public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); ma...
2017-07-12 11:41:00
97
转载 Java基础之final和static关键字
一、final 根据程序上下文环境,它可以修饰非抽象类、非抽象类成员方法和变量。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。...
2017-07-07 11:32:00
78
转载 Java基础之Java中的泛型
1、为什么要使用泛型这里我们俩看一段代码;List list = new ArrayList(); list.add("优快云_SEU_Cavin"); list.add(100); for (int i = 0; i < list.size(); i++) { String name = (String) list.get(i); //取...
2017-07-04 17:11:00
89
转载 Oracle基础之分析表
analyze table tablename compute statistics;analyze index indexname compute statistics;(analyze 不会重建索引)遇到当前表的查询或其他性能不好时,就可以对相应的表进行一次分析。1。如果你的表经常由几千万变成几百万,又变成几千万那么需要制定分析计划定期表分析,同时可以一并分析索引,计...
2017-07-04 15:43:00
105
转载 Java基础之反射机制
1、什么是反射机制 Java的反射机制是在运行中的,可以通过反射机制获取(知道)一个类中的所有方法和属性,对于任意一个类,也可以通过反射机制得到(调用)一个对象中的所有方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2、反射机制能做什么反射机制主要提供了以下功能:在运行时,判断任意一个对象,它所属的类是哪一...
2017-07-04 15:39:00
80
转载 Oracle基础之count(1)和count(*)的区别
在数据库中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的。本文会阐述这三者的作用,关系以及背后的原理。 我在网上看到一些所谓的优化说建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Count( *)会带来全表扫描。而实际上如何写Count并没有区别。 ...
2017-06-30 18:20:00
1268
转载 Java基础之this关键字的作用
this关键字主要存在三种应用 1、this调用本类中的属性,也就是说调用类中的成员变量; 2、this调用本类中的其他方法; 3、this调用本类中的其他构造方法,调用时要放在构造方法的首行,否则会报错 应用一:调用本类中的成员变量Public Class Student { String name; //定义一个成员变量name...
2017-06-29 11:34:00
125
转载 Oracle基础之Merge into
Merge into语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或多表联合查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。 这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。通过这个MERGE你能够在一个SQL语句中对一个表...
2017-06-28 16:14:00
131
转载 Java基础之多线程详细分析
在了解多线程之前,先来了解一下进程与线程之间的关系。进程和线程: 进程是指在系统中正在执行的一个程序,每个进程之间是独立的。 线程是进程的一个基本执行单元。一个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)主线程: 在java程序中存在一个主线程(JVM线程),main方法自带的一个线程。 之所以在系统进行多个程序的时候(QQ,web...
2017-05-27 13:39:00
102
转载 Java基础之异常处理机制
在Java中,异常分为编译时异常和运行时异常。编译时异常又叫编译时被监测的异常:在程序编译过程中监测到非运行时异常的异常,出现该异常要么向上抛出,要么捕获处理。运行时异常(runtimeException及其子类):在程序编译过程中监测到出现运行时异常,函数上或内部可以直接抛出异常,不需要捕获和声明。编译时异常: 在某个方法中,try中出现异常,会将异常信息封装成一个对应异常...
2017-05-23 10:49:00
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人