自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 io流简单读写文件-获取sql表名

package com.kedia.io; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;  public class IOTest {     /**     * @param args     ...

2018-11-25 17:58:52 202

转载 Java集合类: Set、List、Map、Queue使用场景梳理

本文主要关注Java编程中涉及到的各种集合类,以及它们的使用场景 相关学习资料http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E6%8E%92%E5%BA%8F%E5%8F%8Ajava%E9%9B%86%E5%90%88%E7%B1%BB%E8%AF%A6%E8%A7%A3%28collection%E3%80%...

2018-11-22 22:56:24 198

转载 Java 集合详解

一、集合的由来  通常,我们的程序需要根据程序运行时才知道创建多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是数组只能放统一类型的数据,而且其长度是固定的,那怎么办呢?集合便应运而生了! 为了对集合有个...

2018-11-22 22:45:22 91

转载 要提高SQL查询效率where语句条件的先后次序应如何写

我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(inte...

2018-11-22 22:35:35 713

转载 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

1.@RequestMapping国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法,此处需注意@RequestMapping用在类上可以没用,但是用在方法上必须有。例如:...

2018-11-22 22:16:33 202

转载 《深入理解java虚拟机》 精华总结(面试)

一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1 程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功...

2018-11-22 20:05:18 183

转载 HashMap为什么是线程不安全的

HashMap底层是一个Entry数组,当发生hash冲突的时候,hashmap是采用链表的方式来解决的,在对应的数组位置存放链表的头结点。对链表而言,新加入的节点会从头结点加入。 我们来分析一下多线程访问: 1.在hashmap做put操作的时候会调用下面方法:// 新增Entry。将“key-value”插入指定位置,bucketIndex是位置索引。 ...

2018-11-21 23:42:12 110

转载 实时监控或查看系统资源使用情况的工具——TOP

top命令可以显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率(MEM)、CPU占用率等。默认进程以CPU的占用率进行排序。输入大写M可以切换成使用内存占用率排序;输入大写P可以切换为使用CPU占用率排序。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.  下面详细介绍它的使用方法:      ...

2018-11-21 21:29:40 4521

转载 xPath 用法总结整理

最近在研究kafka,看了一堆理论的东西,想动手实践一些东西,奈何手上的数据比较少,突发奇想就打算写个爬虫去抓一些数据来玩,顺便把深入一下爬虫技术。之前写过一些小爬虫,一般就是用python的requests+lxml来爬取数据。这次打算学一下python的scrapy框架来爬取数据。解析网页内容还是打算用lxml,lxml使用了xpath语法,由于太久没用都忘光了。所以打算重新学习一下xpa...

2018-11-21 00:51:16 652

转载 初学XPath,其实很简单

XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。(我的理解:XPath 就是一个用来查找xml节点的路径语言,一个路径字符串语法)XML 实例文档我们将在下面的例子中使用这个 XML 文档。<?xml version="1.0" encoding="ISO-8859-1"?><bookstore&gt...

2018-11-21 00:47:58 192

转载 XPath 详解,总结

XPath简介XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计。目前有XPath1.0和XPath2.0两个版本。其中Xpath1.0是1999年成为W3C标准,而XPath2.0标准的确立是在2007年。W3C关于XPath的英文详细文档请见:http://www.w3.org/TR/xpath20/ 。XPath是一种表达式语言,...

2018-11-21 00:45:33 588

转载 group by 与 where, having以及顺序

一、使用count(列名)当某列出现null值的时候,count(*)仍然会计算,但是count(列名)不会。二、数据分组(group by ):select 列a,聚合函数(聚合函数规范) from 表明 where 过滤条件 group by 列a group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select x...

2018-11-19 18:59:11 7725

转载 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)

RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。 Web ServiceWeb Ser...

2018-11-19 00:06:46 151

转载 注解Annotation实现原理与自定义注解例子

什么是注解?      对于很多初次接触的开发者来说应该都有这个疑问?Annontation是Java5开始引入的新特征,中文名称叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。Annonta...

2018-11-18 23:24:19 131

转载 JVM垃圾回收算法与参数配置

★引用计数法 这是个古老而经典的垃圾收集算法,其核心就是在对象被其他所引用时计数器+1,而当引用失效时-1,但是这种方式有非常严重的问题:无法处理循环引用的情况,还有就是每次进行加减操作比较浪费系统性能。★标记清除法 分为标记和清除两个阶段进行处理内存中的对象,当然这种方式也有非常大的弊端,就是空间碎片问题,垃圾回收后的空间不连续,不连续的内存空间工作效率低于连续的内存空间。★复制算法...

2018-11-18 16:41:25 205

转载 java虚拟机学习之(五)垃圾收集器与垃圾回收算法

经过前面是学习我们已经对java运行时区域的各个部分有了一定的了解,其中程序计数器,虚拟机栈,本地方法栈3个区域属于线程私有区域,它们随着线程的创建而存在,随着线程的死亡而释放。栈中的栈帧随着方法的进入和退出也在有条不紊的进行着入栈和出栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此上述区域的内存分配和回收都是确定的,一旦方法结束或者线程结束,相应的内存自然也就被回收了。而...

2018-11-18 16:30:56 129

转载 过滤器与拦截器区别、使用场景笔记整理

①拦截器是基于java的反射机制的,而过滤器是基于函数回调。  ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。  ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。  ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。  ⑤在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。  6....

2018-11-17 20:52:41 8175 2

转载 使用JDBC获取select count(*) from table_name

public int getCount() {int count = 0;PreparedStatement ps = null;        ResultSet rs = null;        String sql = "select count(*) from table_name";        try {         con=this.getConnection()...

2018-11-17 00:58:02 9650 1

转载 java基础

 如何校验导入的xml文件格式是否符合规范要校验xml的内容 使用正则表达式XML的校验是通过XML Schema(XSD) 或DTD文件的语法规范来校验的。DTD现在越来越不受欢迎了,在此选用XSD来校验。 27. 下面的方法,当输入为2的时候返回值是多少?()    public static int getValue(int i) {        int result...

2018-11-17 00:26:08 140

转载 唯一索引和普通索引的区别

一、背景介绍索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时Mysql必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录,表里面的记录数量越多,这个操作的代价就越高,如果作为搜索条件的列上已经创建了索引,mysql无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有一千个记录,通过索引查找记录至少要比顺序扫描记录快100倍。所以对于现在的各种大型数据库来说,索...

2018-11-17 00:25:07 3137

转载 Java开发中的23种设计模式详解及代码和图解

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理...

2018-11-16 23:37:14 341

转载 判断Java 对象实例是否死亡

垃圾收集器与内存分配策略参考目录:1.判断Java 对象实例是否死亡 2. Java 中的四种引用 3.垃圾收集算法 4. Java9中的GC 调优 5.内存分配与回收策略在进入主题之前,我们要先知道运行时数据区域都是有哪些块内存需要进行垃圾回收。     程序计数器、虚拟机栈、本地方法栈、3个区域都是随着线程生而生,随着线程灭而灭的;栈中的栈帧随着方法的进入和退出有条不紊的执行着...

2018-11-16 18:11:50 130

转载 java web 调优

数据库、JVM、缓存、SQL等性能调优方法和原则第一:Web网站调优1、尽可能减少HTTP请求:图片合并 (css sprites),Js脚本文件合并、css文件合并。2、减少DNS查询3、将css放在页面最上面,将js放在页面最下面4、压缩js和css减少文件体积,去除不必要的空白符、格式符、注释(即对代码进行格式化)5、把js和css提取出来放在外部文件中这一条...

2018-11-16 17:50:35 491

转载 java web调优

Java中性能优化的35种方法汇总 更新时间:2017年01月12日 11:30:13   投稿:daisy    我要评论很多同学在日常写Java的时候很少去关心性能问题,但是在我们写代码的过程中必须考虑到性能对程序的影响。小到我们使用位运算来实现算术运算,大到我们对 Java 代码的总体架构设计,性能其实离我们很近。本文介绍了Java中性能优化的35种方法,需要的朋友可以参考下。 ...

2018-11-16 17:47:30 416

转载 java基础题

试题(49)、(50) 若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询。针对上述需求,可以采用____(49)____设计模式抽象出相同的数据库访问过程,该设计模式____(50)____。A.外观B.装饰C.桥接D.享元正确答案A答案解析试...

2018-11-16 17:45:42 990

原创 对象的创建过程,子父类中构造函数特点

对象的创建过程类的加载过程:启动JVM,加载程序中需要使用的class文件。 在加载class文件的时候,所有的静态内容(静态成员变量,静态成员函数,静态代码块)都要加载到方法区的静态区中。 当类中的所有静态加载完成之后,开始给类中的所有静态成员变量默认初始化。 类中的所有静态成员变量默认初始化完成之后,开始给这些静态成员变量显示赋值。 所有静态成员变量显示赋值结束之后,开始运行类...

2018-11-16 01:10:30 332 2

转载 深入分析Java规范中JVM的内存布局模型

Java是一门结合了编译执行与解释执行的语言。首先,Java编译器把Java源码编译成Java字节码(byte-code),然后,Java字节码在Java虚拟机(JVM)上解释执行。实际上,Java虚拟机在执行Java代码的过程中,会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时机,有些区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立...

2018-11-16 00:53:42 245

转载 深入JVM垃圾回收算法

1. 标记——清除算法(Mark-Sweep)标记——清除算法是第一种使用和比较完善的垃圾回收算法,算法分为两个过程:1、标记正所有需要回收的对象2、标记完成后清除被标记的对象。其标记的过程就是判断对象有效性,执行可达性分析的过程。其执行流程图大体如何下所示: 同样,我们也借助现实的场景进行描述。图书管里有好多人在看书,图书管理员想要收集起没有被看的书的时候,他决定让所有正在看书的人站起...

2018-11-16 00:52:06 87

转载 java面试题集中了好几篇的搜索的

1、servlet执行流程客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。...

2018-11-16 00:51:07 2237

转载 Spring Batch 批处理框架介绍

大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员等等。而在批量处理任务的过程中,又需要注意很多细节,如任务异常、性能瓶颈等等。那么,使用一款优秀的框架总比我们自己重复地造轮子要好得多一些。我所在的物联网云平台部门就有这么一个需求,需要实现批量下发命令给百万设备。为了防止枯燥乏味,下面就让我们先通过Spring Batch框架简单地实现一下这个功能,再来详细...

2018-11-13 23:24:59 465

转载 为什么新生代内存需要有两个Survivor区

JVM堆内存的结构以及在堆中进行的GC机制,链接是浅谈JAVA GC机制与性能优化JVM区域总体分两类,heap区和非heap区。heap区又分为:Eden Space(伊甸园)、Survivor Space(幸存者区)、Old Gen(老年代)。非heap区又分:Code Cache(代码缓存区);Perm Gen(永久代);Jvm Stack(java虚拟机栈);Lo...

2018-11-13 23:02:59 590

转载 java两种实现二分查找方式

二分查找法适用于 升序排列的数组,如果你所要操作的数组不是升序排序的,那么请用排序算法,排序一下。说明:使用二分查找法相比顺序查找  节约了时间的开销,但是增加了空间使用。因为需要动态记录 起始索引和结束索引和中间索引。顺序查找  平均和最坏情况时间复杂度 :O(n) 二分查找法 时间复杂度 为 :O(log2n)package part1;/** * Create...

2018-11-13 18:26:08 410

转载 GOvoid java并发编程实战 java并发编程的艺术

java线程池说明 http://www.oschina.net/question/565065_86540java中断机制 http://ifeve.com/java-interrupt-mechanism/ Ask、现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?join方法如果一个线程A执行了thread.join()语句,其含义...

2018-11-13 18:05:17 265 1

转载 Java代码解决生产者---消费者问题(两种方法)

本文通过两种方法解决生产者--消费者问题,思想都是通过锁的竞争进行资源的消耗或者生产,如果有疑问或者写的不好的地方可以留言沟通(代码中都作了详细的注释)目录方法一:synchronized, wait, notify 1.1 资源1.2 消费者1.3 生产者1.4 测试代码方法二:lock, condition, await, signal2.1 资源2.2 消...

2018-11-13 17:52:04 490

转载 java写一个会导致死锁的程序

什么是死锁?多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。不适当的使用“synchronized”关键词来管理线程对特定对象的访问。“synchronized”关键词的作用是,确保在某个时刻只有一个线程被允许执行特定的代码块,因此,被允许执行的线程首先必须拥有对变量或对象的排他性的访问权。当线程访问对象时,线程会给对象加...

2018-11-13 17:46:27 1783

转载 java实现二分查找-两种方式

二分查找是一种查询效率非常高的查找算法。又称折半查找。起初在数据结构中学习递归时实现二分查找,实际上不用递归也可以实现,毕竟递归是需要开辟额外的空间的来辅助查询。本文就介绍两种方法二分查找算法思想有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功。一个情景:将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;...

2018-11-13 17:39:44 695

转载 史上最简单的 SpringCloud 教程

https://blog.csdn.net/forezp/article/details/70148833/http://www.cnblogs.com/chry/p/7248947.html 

2018-11-04 10:05:48 371

转载 ORACLE 存储过程中的Authid Current_User

ORACLE用户具有DBA权限,却会出现无法在存储过程里面创建一张普通表的现象。因为即使用户拥有DBA权限,用户拥有的role权限在存储过程是不可用的。遇到这种情况,通常解决方法是进行显式的权限分配: grant create table to user a;但这种方法太麻烦,因为有可能执行一个存储过程,需要很多不同权限。实际上,oracle给我们提供了在存储过程中使用role权限的方法:修...

2018-11-03 20:52:32 673

转载 ORA-01031 权限不足-存储过程中DBA 角色用户无法执行DDL

  Oracle的存储过程,是我们使用数据库应用开发的重要工具手段。在存储过程中,我们大部分应用场景都是使用DML语句进行数据增删改操作。本篇中,我们一起探讨一下数据定义语句DDL在存储过程中使用的细节和要点。 1、“借道而行”的DDL   从Oracle PL/SQL和存储过程程序开发原则上,应该是不鼓励在SP中使用DDL语句的。首先一个表现,就是Oracle在编译时就不允许直接...

2018-11-03 20:51:33 2827

转载 Oracle存储过程跨用户执行查询报错

在Oracle中,在USERA下编写一个存储过程,该存储过程中引用了另一个用户USERB下的表或视图对象。编译该存储过程,出现编译错误。报ORA-00942: table or view does not exist。但是该表或视图的确在USERB下存在,而且已经授予了USERA DBA角色的权限,即可以查询任何用户下的表或视图。将存储过程中的该报错语句复制粘贴到SQL窗口中执行,不报错。为什...

2018-11-03 20:49:11 1145

空空如也

空空如也

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

TA关注的人

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