java
文章平均质量分 66
wyl_1483061559
一只小菜鸟
展开
-
JAVAMD5加密
import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import sun.misc.BASE64Encoder;public class MD5 { /**利用MD5进行加密 * * @param...原创 2018-04-17 22:31:16 · 727 阅读 · 0 评论 -
java异常处理 Exception、error、运行时异常和一般异常有何异同
一、开场白对于程序运行过程中的可能出现异常情况,java语言使用一种称为异常处理的错误捕捉机制进行处理。相信大家对 try { }catch( ){} finally{} 这种结构非常熟悉,使用频率极高。既然经常使用它,而且也是面试常问知识点,我们就有必要去深入地了解一下。也谈不上深入,只是java语言的基本功。下面,开始吧!二、异常分类在java中,异常对象都是派生于Throwabl...原创 2018-09-15 23:24:07 · 815 阅读 · 0 评论 -
Java异常发生时程序的执行顺序
Java异常发生时: 如果有try块,try块内的代码发生异常后,程序会终止当前的流程,根据获取异常的类型去执行相应的catch代码段,有多个符合条件的catch时,只执行第一catch块内的代码,然后再执行finally块内的代码,如不发生异常try块内的代码执行完后执行finally块内的代码,如果异常往上抛直到main函数还没有被catch处理的话,程序将被异常终止。如果没有try块, 说...原创 2018-09-15 23:49:30 · 411 阅读 · 0 评论 -
Java 异常处理的 9 个最佳实践
在 Java 中,异常处理是个很麻烦的事情。初学者觉得它很难理解,甚至是经验丰富的开发者也要花费很长时间决定异常是要处理掉和抛出。所以很多开发团队约定一些原则处理异常。如果你是一个团队的新成员,你可能会很惊讶,因为他们约定的规则可能和你以前使用的规则不一样。不过,有很多最佳实践的规则,被大部分团队接受。这里有 9 大重要的约定,帮助你学习或者改进异常处理。1、在 Finally 清理资...转载 2018-09-16 00:16:06 · 77 阅读 · 0 评论 -
排序算法之选择排序
a)原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。(这里只介绍常用的简单选择排序)b) 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据...原创 2018-09-16 13:15:55 · 71 阅读 · 0 评论 -
java 文件与文件夹拷贝、重命名、文件搜索
String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。 [java] view plain copyjava文件搜索 public void get...原创 2018-09-16 13:52:09 · 580 阅读 · 0 评论 -
【Java基础】String,StringBuffer,StringBuilder之间的区别
对于这三个类,先总体来理解一下:对String,你创建了一个String,你能通过set方法改变它的长度length吗?显然是不行的!但 StringBuffer 可以! String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 基本来说都是在性能上都是 StringBuilder > Strin...原创 2018-09-16 14:26:12 · 108 阅读 · 0 评论 -
ArrayList 、LinkList、List 区别 & 迭代器iterator的使用 & HashMap、Hashtable、LinkedHashMap、TreeMap
一、几个List类型1.大学数据结构中ArrayList是实现了基于动态数组的数据结构,LinkList基于链表的数据结构。2.对于随机访问get和set,ArrayList优于LinkList,因为LinkedList要移动指针。3.对于新增和删除操作add和remove,LinkList比较占优势,因为ArrayList要移动数据。 从上面三点可以看出:ArrayLis...原创 2018-09-16 15:04:15 · 175 阅读 · 0 评论 -
JVM(三):类加载机制(类加载过程和类加载器)
一、为什么要使用类加载器?Java语言里,类加载都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会给java应用程序提供高度的灵活性。例如:1.编写一个面向接口的应用程序,可能等到运行时再指定其实现的子类;2.用户可以自定义一个类加载器,让程序在运行时从网络或其他地方加载一个二进制流作为程序代码的一部分;(这个是Android插件化,动态安装更新apk的基础)...转载 2018-09-16 16:35:18 · 101 阅读 · 0 评论 -
GC详解及Minor GC和Full GC触发条件总结
GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。GC流程 ,对象如何晋升到老年代对象优先在新生代区中分配,若没有足够空间,Minor GC; 大对象(需要大量连续内存空间)直接进入老年态;长期存活...转载 2018-09-16 17:06:02 · 3306 阅读 · 1 评论 -
排序算法之 冒泡排序
常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 O(n2) O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序 O(n2) O(n2) 稳定 O(1...原创 2018-09-13 22:16:22 · 93 阅读 · 0 评论 -
Java标识符的命名规则保留字及关键字
Java语言中,为各种变量、方法和类等起的名字称为标识符Java标识符的命名规则:应以字母、下划线、美元符开头后跟字母、下划线、美元符或数字Java标识符大小写敏感,长度无限制1.java中能用作标识符的有:26个英文字母(大、小写),数字,下划线,美元符号$。 但是不能以数字开头。 2.类名首个字母必须大写,多个单词组成的,每个单词首字母都要大写。 3.方法名一般首个字母小写(构...原创 2018-09-13 22:24:12 · 1353 阅读 · 0 评论 -
Ubuntu下安装ZooKeeper
一、下载zookeeperwget http://apache.osuosl.org/zookeeper/stable/zookeeper-3.4.12.tar.gz(本次安装3.4.12版本(稳定版))二、安装1、解压tar -zxvf zookeeper-3.4.12.tar.gz2、将zookeeper-3.4.12/conf目录下的zoo_sample.cfg文件拷...转载 2018-09-08 20:27:11 · 583 阅读 · 1 评论 -
Ubuntu 16.04.5安装JDK
1.1 JRE和JDK JRE(Java Runtime Environment)它是你运行一个基于Java语言应用程序的所正常需要的环境。如果你不是一个程序员的话,这些足够你的需要. JDK代表Java开发工具包,如果你想做一些有关Java的开发(阅读程序), 这正是你所需要的. 1.2 Open JDK和Oracle JDK OpenJDK是Java开发工具包的开源实...原创 2018-09-08 20:13:28 · 447 阅读 · 0 评论 -
java连接数据库(JDBC)
import java.sql.DriverManager;import java.sql.ResultSet;import com.mysql.jdbc.Connection;import com.mysql.jdbc.Statement;//首先导入mysql所需要的jar包:(mysql-connector-java-5.1.7-bin.jar)public class Demo1 { /*...原创 2018-05-09 12:19:37 · 84 阅读 · 0 评论 -
jdbc增删操作
package com.xiyou;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import org.junit.Test;public class Demo4 { @Test public void testAdd(){ Connection conn=null; Stateme...原创 2018-05-09 12:18:49 · 116 阅读 · 0 评论 -
java向mysql读写clob
package com.xiyou;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.i...原创 2018-04-23 22:50:22 · 767 阅读 · 0 评论 -
java向mysql中读写blob
package com.xiyou;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.InputStream;import java.net.URL;import java.sql.Connection...原创 2018-04-23 22:52:47 · 3926 阅读 · 0 评论 -
FromBean
public static <T> T toFillFormBean(HttpServletRequest request,Class<T> classname)[ try{ T t=classname.newInstance(); Map map=request.getParameterMap(); BeanUtils.populate(t,map); ...原创 2018-05-09 12:19:07 · 431 阅读 · 0 评论 -
MySQL 事物隔离级别
1.什么是事物 访问并可能跟新数据库的一个完整的程序执行单元(UNIT)2、事物必须满足ACID特性:A,atomic,原子性,要么都提交,要么都失败,不能一部分成功,一部分失败。C,consistent,一致性,事物开始及结束后,数据的一致性约束没有被破坏I,isolation,隔离性,并发事物间相互不影响,互不干扰。D,durability,持久性,已经提交的事物对数据库所做的更新必须永...原创 2018-04-26 09:54:46 · 106 阅读 · 0 评论 -
com.mchange.v2.c3p0.impl.NewProxyConnection cannot be cast to com.mysql.jdbc
今天利用C3P0连接池、自己做的DataSourceUtils工具类做了一个转账操作,运行的时候出现这个错误,都是出现了强转了的,比如:connection=(Connection)DataSourceUtils.getConnection();这是报错说的就是类型不匹配,想着可能是导的包不对,然后发现工具类里面导的是 java.sql.Connection ,而dao里面导的是com.mysql...原创 2018-05-04 01:07:46 · 2166 阅读 · 1 评论 -
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory)
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.h...原创 2018-05-11 17:11:12 · 2129 阅读 · 0 评论 -
ibatis:JavaBeansDataExchange could not instantiate result class
JavaBeansDataExchange could not instantiate result class找了半天,发现是 resultMap对应的javabean 没有写默认构造函数.原创 2018-05-11 17:14:06 · 1243 阅读 · 0 评论 -
异常:java.lang.IllegalArgumentException
DEBUG] 2017-04-21 22:21:59,758 [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Finished creating instance of bean 'org.springframework.context.annotation.internalConfiguration...转载 2018-05-20 23:11:51 · 3305 阅读 · 0 评论 -
MyBatis 入门
1.1 MyBatis介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去...原创 2018-05-20 23:28:02 · 87 阅读 · 0 评论 -
druid 连接池
java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。接下来本教程就说一下druid的简单使用。 首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包。如果想使用...转载 2018-06-11 19:15:57 · 146 阅读 · 0 评论 -
cause java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet.class
首先声明一点:导致这个异常的情况有很多种可能 ,我只是说一下我遇到的异常解决办法[java] view plain copyjava.lang.ClassNotFoundException: org.springframework.web.servlet.Dispatcher 可能原因1:在web.xml中点击[java] view plain copy<servlet-class>...转载 2018-05-28 21:50:33 · 811 阅读 · 0 评论 -
Java Jvm运行机制原理
一:简介在学习Java虚拟机之前,也就是Jvm之前,我想大家能够带着问题去学习,这样的话,大家学习起来也会比较有所获!1 21.Java虚拟机(Jvm)是什么? 2.Java虚拟机是用来干什么的? 3.Java虚拟机它的体系结构是什么样子的? 4.Java虚拟机在工作做扮演什么角色? 5.Java虚拟机在运行时数据区?二:Jvm基础概念Java虚拟机(Jvm)是可运...转载 2018-09-16 13:15:22 · 115 阅读 · 0 评论 -
在MyEclipse、Eclipse中安装Properties插件
官方正式版安装步骤1、在eclipse中点击“help”-"Install New Software"2、点击右侧的“Add”按钮3、输入Name:properties。Location:http://propedit.sourceforge.jp/eclipse/updates/然后点击OK4、过一会就会出现插件列表,选择PropertiesEditor,然后Next5、继续Next6、点击“I...原创 2018-06-05 17:13:15 · 321 阅读 · 0 评论