语言-Java核心技术
文章平均质量分 83
JAVA破局之路
寻找最好的你
展开
-
instanceof 原来我一直没理解对
判断一个对象是否是一个类的实例,用Java中自带的关键字instanceof似乎可以做到(仅从关键字名称上可以猜测出),如下面的代码: public static void main(String args[]) { Object i = new Integer(7); if (i instanceof Number) { System....原创 2019-10-12 16:12:14 · 486 阅读 · 0 评论 -
BerkeleyDB初识demo
直接上代码,添加jar可直接运行。package com.anzy.splider.bdb;import java.io.File;import com.sleepycat.je.Database;import com.sleepycat.je.DatabaseConfig;import com.sleepycat.je.DatabaseEntry;import com.原创 2017-08-20 15:10:54 · 736 阅读 · 0 评论 -
Jsoup学习
好久没写博客了,最近工作在研究爬虫之前没玩过,买了本书学习爬虫,看到了jsoup,然后记一下。一、解析和遍历一个HTML文档String html = "First parse" + "Parsed HTML into a doc.";Document doc = Jsoup.parse(html);其解析器能够尽最大可能从你提供的HT原创 2017-08-19 18:06:15 · 431 阅读 · 0 评论 -
jsp+Servlet实现上传
做这个demo主要是为了熟悉上传的原理,毕竟jsp+Servle这个是最基础的。JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。我们使用 Servlet 来处理文件上传,使用到的文件有:upload.jsp : 文件上传表单。message.jsp : 上传成功后跳转页面。U原创 2017-06-15 00:00:03 · 453 阅读 · 0 评论 -
java 方法设置默认值
java本身不支持设置默认值,需要用重载间接实现。因为“默认参数”和“方法重载”同时支持的话有二义性的问题,Java可能为了简单就不要“默认参数”了。使用“方法重载”可以间接实现”默认参数“的效果,而且避免了代码过于hack(乱)。如:public class A{ public void doA(int a){ } public void doA(){原创 2017-07-15 10:28:55 · 31272 阅读 · 1 评论 -
servlet的url-pattern匹配规则详细描述
今天下载了一个上传视频的项目是servlet写的,学习了,从网上看到一篇关于url-pattern匹配规则的写的不错,和大家分享!在利用servlet或Filter进行url请求的匹配时,很关键的一点就是匹配规则,但servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是由自己的规则,比较容易混淆。本文来详细举例介绍下。下面的说明都是在tomcat服务器中得到验证转载 2017-06-06 22:42:24 · 471 阅读 · 0 评论 -
This parser does not support specification "null" version "null" 有关问题的处理
今天项目奇怪的报This parser does not support specification "null" version "null" 这个错从网上查了一下是JDK中缺xerces.jar包(用于XML解析)在Eclipse中报错如下:java.lang.UnsupportedOperationException: This parser does n原创 2017-05-10 23:10:46 · 3985 阅读 · 0 评论 -
java 创建文件文本
public void createFile(){ //path表示你所创建文件的路径 String path = "d:/tr/rt"; File f = new File(path); if(!f.exists()){ f.mkdirs(); } // fileName表示你创建的文件名;为txt类型; String fileName="test.txt"; File原创 2017-02-09 22:55:26 · 329 阅读 · 0 评论 -
深入研究容器
1.Java集合类库完备图填充容器1.Collections类也有一些实用的用于填充的方法,其中包括fill()。与Arrays的一样,也只是复制同一个对象引用来填充整个容器,并且只对List有用。一.使用Abstract类1.对于产生用于容器的测试数据问题,有一种方式是创建定制的Collection和Map实现。每个java.util容器都有自原创 2017-02-09 22:13:26 · 284 阅读 · 0 评论 -
java中使用队列 Queue
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Q原创 2016-10-20 22:25:29 · 345 阅读 · 0 评论 -
关于SimpleDateFormat安全的时间格式化线程安全问题
想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一转载 2016-10-18 22:15:02 · 470 阅读 · 0 评论 -
泛型限定
import java.util.ArrayList;import java.util.Iterator;/** * ?通配符。也可以理解为占位符。 * 泛型的限定; * ? extends E :可以接受E类型以及其子类型;上限 * ? super E : 可以接受E类型以及其父类型;下限 * */public class GenericDemo01 { publi原创 2016-11-07 22:07:25 · 278 阅读 · 0 评论 -
值传递引用传递(java)
前一段时间在搞一个多线程的问题时,遇到了重复数据问题,后来经查阅是因为值传递引用传递问题。1:按值传递是什么指的是在方法调用时,传递的参数是按值的拷贝传递。按值传递重要特点:传递的是值的拷贝,也就是说传递后就互不相关了。2:按引用传递是什么指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。原创 2017-08-21 23:42:18 · 255 阅读 · 0 评论 -
Java中sleep,wait,yield,join的区别
1.sleep()方法在指定时间内让当前正在执行的线程暂停执行,但不会释放“锁标志”。不推荐使用。sleep()使当前线程进入阻塞状态,在指定时间内不会执行。2.wait()方法在其他线程调用对象的notify或notifyAll方法前,导致当前线程等待。线程会释放掉它所占有的“锁标志”,从而使别的线程有机会抢占该锁。当前线程必须拥有当前对象锁。如果当前线程原创 2017-11-12 21:53:03 · 981 阅读 · 0 评论 -
Java遍历集合
使用迭代器 使用for-each循环 使用forEach()方法 使用迭代器集合提供了一个迭代器来遍历其所有元素。迭代器可以对集合执行以下三个操作:检查是否有尚未访问的元素。 访问集合中的下一个元素。 删除集合的最后访问元素。Java中的迭代器是Iterator< E>接口的一个实例。我们可以使用Collection接口中的i...原创 2019-08-27 15:12:56 · 225 阅读 · 0 评论 -
Java核心技术:String、StringBuffer、StringBuilder有什么区别?
这个问题也是经常在面试中会被问到的。典型回答String 是 Java 语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的 Immutable 类,被声明成为 final class,所有属性也都是 final 的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的 String 对象。由于字符串操作的普遍性,所以相关操作的效率往往对应用性能有明显影响。String...原创 2018-05-20 22:09:40 · 240 阅读 · 0 评论 -
记一次java面试(小黑鱼)
一、hashMap与hashTabel的区别:1、线程是否同步HashMap不是线程安全的,HashTable是线程安全,他们之前的方法基本上都是相同的,HashMap的效率明显要比HashTabel快。2、扩容(基于JDK1.8)上面是我回答的,有点紧张许多知道的点没说,例如:当getmap中的值首先用hashcode比较如果相等时接下来会比较用equals比较值。接...原创 2018-05-05 15:47:18 · 3047 阅读 · 0 评论 -
java技能树
收藏一张技能树!转载 2018-04-20 14:06:32 · 1070 阅读 · 0 评论 -
Spring log4j mq实现日志记录
Spring log4j mq实现日志记录,对于一般系统还是很实用的,简单方便。记得之前做过一个项目是解析的log日志文件,今天突发奇想log4j能不能将信息推送到mq于是百度查阅资料写了这个例子。1、导入对应jar<!-- Use to call write log methods --><dependency> <groupId>log4j<...原创 2018-04-12 16:23:56 · 2267 阅读 · 0 评论 -
elasticsearch 增删改查
之前在项目中用过ES,但是只写了一小部分代码,从0到增删改查还不会,今天就写了一个简单的增删改查,给大家分享一下。1、引入jar <!-- log4j日志文件管理包版本 --> <slf4j.version>1.7.13</slf4j.version> <log4j.version>1.2.17&l...原创 2018-04-17 09:42:31 · 343 阅读 · 0 评论 -
ActiveMQ入门实例
1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 我下载的时候是 apache-activemq-5.13.2版 2.运行ActiveMQ 解压缩apache-activemq-5.13.2-bin.zip,然后双击apache-activemq-5.13.2\bin\activemq.bat运行ActiveMQ程序。 启动ActiveMQ以后,登陆...原创 2018-02-26 14:30:09 · 202 阅读 · 0 评论 -
乱码问题总结
上周遇到了乱码问题,让我很是头疼。首先简单说一下一般乱码问题:1、检查文件、项目的编码2、JSP、HTML编码3、web.xml编码4、springmvc返回时设置的编码5、tomcat编码上面没有写实际操作,大家可以根据关键字百度网上太多,就没写。以上当时我都进行了设置,但是页面(HTML非JSP)内容还是乱码。此时我又去修改了JAVA编码,才解决原创 2017-11-27 10:48:44 · 241 阅读 · 0 评论 -
maven项目中找不到Maven Dependencies解决办法
打开.classpath文件,添加如下内容 另外包可能会乱了可修改下面标记出的地方原创 2017-12-04 22:37:10 · 3532 阅读 · 0 评论 -
Spring AOP日志配置以及注意事项
一、XML配置方法 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://ww原创 2017-12-04 10:24:18 · 1280 阅读 · 1 评论 -
泛型限定
package com.anzy.set;import java.util.ArrayList;import java.util.Iterator;/** * ?通配符。也可以理解为占位符。 * 泛型的限定; * ? extends E :可以接受E类型以及其子类型;上限 * ? super E : 可以接受E类型以及其父类型;下限 * */public class ...原创 2018-05-06 12:19:04 · 150 阅读 · 0 评论 -
jsoup API 中文版
jsoup Cookbook(中文版)入门解析和遍历一个html文档输入解析一个html字符串解析一个body片断根据一个url加载Document对象根据一个文件加载Document对象数据抽取使用dom方法来遍历一个Document对象使用选择器语法来查找元素从元素集合抽取属性、文本和html内容URL处理程序示例:获取所有链接转载 2016-10-16 22:07:32 · 15906 阅读 · 4 评论 -
POI 对excel表格基本操作Demo
今天熟悉了一下POI对excel的一些基本操作与大家分享一下import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;原创 2016-09-04 18:15:58 · 1390 阅读 · 0 评论 -
Failed to load resource: the server responded with a status of 400 (Bad Request)
报错代码为400的错误的原因:基本上都是前台传的数据格式不正确造成的(后台接受数据的格式不正确),但是这个格式如何不正确,就得看如何理解这个数据到底是怎么在传的啦。一、方案一首先检查一下你model中存放的是什么类型,如果存在date类型就可能出现400(本人就是这个原因)二、方案二写下我的代码报错400,的原因:前台代码:[java原创 2016-09-14 23:28:27 · 48856 阅读 · 0 评论 -
[JAVA]POI各Jar包的作用
最近工作中用到了POI,然后跟大家分享一下POI中各jar包的作用。(通过网上查资料收集)上图是本人下载下来的jar包。当我们只要使用xls格式时、只要导入poi-3.15-yyyymmdd.jar就可以了。当我们还要使用xlsx格式、还要导入poi-ooxml-version-yyyymmdd.jar。至于poi-ooxml-sch原创 2016-09-03 10:14:22 · 1485 阅读 · 0 评论 -
JSON数据简介
JSON简介:JSON:JavaScript对象表示法JSON是存储和交换文本信息的语法。JSON是轻量级的文本数据交换格式JSON独立于语言平台JSON具有自我描述性,更易理解JSON与XML类似于XML,比XML更小、更快,更易解析没有结束标签更短读写的速度更快使用数组不用保留字JSON语法JSON语法是Javascrip原创 2016-09-13 23:04:02 · 396 阅读 · 0 评论 -
Spring 整合 Quartz 实现定时任务
配置文件spring-quartz-task.xmlhttp://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"原创 2016-08-10 21:14:38 · 247 阅读 · 0 评论 -
java 多线程
线程与进程1、线程:程序中单独顺序的控制流线程本身依靠程序进行运行县城是程序中的顺序控制流,只能使用分配给程序的资源和环境2、进程:执行中的程序一个进程可以包含一个或多个线程一个进程至少要包含一个线程3、单线程程序中只存在一个线程4、多线程多线程是在一个程序中运行多个任务多线程的目的是更好的使用CPU资源---------------分割线-----原创 2016-09-11 22:27:14 · 225 阅读 · 0 评论 -
return continue break
一、 return1、指定一个方法返回什么值(假设他没有void返回值)2、导致当前方法退出,并返回那个值二、break用于强行退出循环,不执行循环中剩余的语句。三、continue停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。原创 2016-07-20 22:22:22 · 262 阅读 · 0 评论 -
Eclipse快捷键
1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下转载 2016-07-19 22:49:40 · 317 阅读 · 0 评论 -
StringUtils中 isNotEmpty 和isNotBlank的区别
isNotEmpty将空格也作为参数,isNotBlank则排除空格参数参考QuoteStringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是nu转载 2016-07-18 21:53:07 · 549 阅读 · 0 评论 -
Socket编程
初始Socket编程一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议 对应于应用层 tcp协议 对应于传输层转载 2016-05-17 10:20:03 · 200 阅读 · 0 评论 -
List 接口
1、 list接口可以存放任意数据,而且在list接口中内容是可以重复的;2、 list常用子类ArrayList 1.2之后 异步 线程不安全Vector 1.0之i后 同步 线程安全3、 常用操作判断集合是否为空:boolean isEmpty()查找指定的对象是否存在:in indexOf(Object ob);-------------原创 2016-07-10 22:14:25 · 327 阅读 · 0 评论 -
Java 邮件发送
这几天需要做一个邮件发送类 学了一下,跟大家分享一下!需要用到两个jar包 mail.jar activation.jarpackage mailTest0831;import java.util.Properties; import javax.activation.DataHandler; import javax.activation.F原创 2016-09-05 22:13:58 · 457 阅读 · 0 评论 -
MyBatis获取插入记录的自增长字段值
第一步: 在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!注:useGeneratedKeys 要求数据库本身具备主键自动增长的功能,比如说,mysql,sqlserver可以使用useGeneratedKeys =true 这功能,不支持主键自动增长的数据原创 2016-09-18 21:00:52 · 670 阅读 · 0 评论 -
Java 邮件发送[2]
今天审核了一下昨天发的Java邮件发送工具类发现其中有许多可优化的地方,分享给大家。import javax.mail.*;public class MyAuthenticator extends Authenticator { String userName = null; String password = null; public MyAuthentica原创 2016-09-06 21:25:29 · 495 阅读 · 0 评论