
java
文章平均质量分 93
晓梦_知行
这个作者很懒,什么都没留下…
展开
-
Lambda介绍与使用
java8为什么引入lambda?在java8出现之前,如果想传递一段代码到一个方法里是很不方便的,你几乎不可能将代码块到处传递,因为Java是一个面向对象的语言,因此你要构建一个属于某个类的对象,由它的某个方法来放置你想传递的代码块。下面看两个非常典型的例子,构造线程与比较器:构造线程我们要想在另一个线程中执行一些代码逻辑时,通常会将代码放在一个实现Runnable接口的run方法当中public static void main(String[] args) { myThr原创 2022-05-29 18:28:31 · 909 阅读 · 0 评论 -
谈谈java中字节byte有负数的现象
在研究编码时,无意中发现java中输出编码后的字节数据的值有的是负值,比如utf-8编码后的字节数据,通过遍历,打印都是负值,java中字节byte有负数的现象让我产生了兴趣,在此探讨一下。关于编码的字节有负数的现象,可以参考这篇博客:http://blog.youkuaiyun.com/csdn_ds/article/details/79077483下面我用java中的数据流去说说这个现象。原创 2018-01-19 15:29:51 · 34935 阅读 · 6 评论 -
使用命令行生成jar包
JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为zip包。当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你生成JAR包时,它会自动生成。JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。 一.jar命令参数原创 2018-01-25 16:01:28 · 1981 阅读 · 0 评论 -
聊聊gbk与utf8互转的乱码问题
作为一个程序员,乱码问题,应该我们都有遇到,但对于这个问题,很难用一句话概括乱码是怎么一回事,具体的问题还需要具体分析。我们知道在计算机内存中,存储的是二进制数据,在网络传输中,也是二进制数据,但最终呈现给用户的是字符串,二进制与字符串的转化就需要编码、解码的参与,如果世界上只有一种字符编码方式,就不会有乱码这一说了,但事实是,编码的方式太多了,utf-8、utf-32、utf-16、gbk、原创 2018-01-16 18:07:32 · 32407 阅读 · 5 评论 -
unicode码、字符串、utf8码之间的转换工具类
package com.anjz.test;import java.io.UnsupportedEncodingException;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.apache.commons.lang.StringUtils;public class EncodeUt转载 2018-01-16 17:25:32 · 4706 阅读 · 0 评论 -
java中Unicode码与中文的转化
什么是unicode码unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。unicode码是一种标准,utf-8是一种unicode的实现方式之一。原创 2017-06-01 19:53:37 · 12363 阅读 · 1 评论 -
java中final关键字的用法
final关键字的含义?final在java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明为final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。什么是final变量?凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和sta转载 2017-07-19 09:36:06 · 376 阅读 · 0 评论 -
java中String、StringBuffer、StringBuilder的区别
java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。 private final char valu转载 2017-07-19 17:07:55 · 314 阅读 · 0 评论 -
java中四种线程池的使用
java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。转载 2017-07-19 16:46:38 · 371 阅读 · 0 评论 -
java中static关键字的用法
static是静态修饰符,在java中,static可以作用在变量、方法、类上,以及还可以在类中独立成一个静态块。被static修饰的,一般都是属于类本身的,在类编译的时候,就会加载到内存,而且只会加载一次,这样对于类的多个实例对象来说,访问静态的东西,其实访问的都是同一块内存空间。静态变量按照是否静态,对成员变量可以分为两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没原创 2017-07-17 14:39:12 · 342 阅读 · 0 评论 -
Java中的equals和hashCode方法详解
Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这两个方法,今天就来介绍一些这两个方法的作用。equals()和hashCode()方法是用来在同一类中做比较用的,尤其是在容器里如set存放同一类对象时用来判断放入的对象是否重复。这里我们首先要明白一个问题:转载 2017-06-08 17:07:36 · 277 阅读 · 0 评论 -
SimpleDateFormat线程不安全及解决办法
以前没有注意到SimpleDateFormat线程不安全的问题,写时间工具类,一般写成静态的成员变量,不知,此种写法的危险性!在此讨论一下SimpleDateFormat线程不安全问题,以及解决方法。为什么SimpleDateFormat不安全?直接上一个例子,日期格式化成字符串:package com.anjz.test.simpleDateFormat;import java.原创 2017-06-10 15:15:23 · 39367 阅读 · 14 评论 -
Java中的深拷贝(深复制)和浅拷贝(浅复制)
深拷贝(深复制)和浅拷贝(浅复制)是两个比较通用的概念,尤其在C++语言中,若不弄懂,则会在delete的时候出问题,但是我们在这幸好用的是Java。虽然java自动管理对象的回收,但对于深拷贝(深复制)和浅拷贝(浅复制),我们还是要给予足够的重视,因为有时这两个概念往往会给我们带来不小的困惑。浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象。转载 2017-05-22 17:00:38 · 1157 阅读 · 0 评论 -
浅谈java集合中线程安全的类
vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。statck:堆栈类,先进后出hashtable:就比hashmap多了个线程安全Collections的synchronizedXxxx()方法包装的集合ConcurrentXxxx:从jdk1.5提供,通过分原创 2017-05-19 13:38:27 · 1894 阅读 · 0 评论 -
Hashtable与ConcurrentHashMap区别
ConcurrentHashMap融合了hashtable和hashmap二者的优势。hashtable是做了同步的,hashmap未考虑同步。所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。但是hashtable每次同步执行的时候都要锁住整个结构。看下图:图左侧清晰的标注出来,lock每次都要锁住整个结转载 2017-05-19 13:35:54 · 1012 阅读 · 0 评论 -
9个基于Java的搜索引擎框架
1、Java 全文搜索引擎框架 Lucene毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene为开发人员提供了相当完整的工具包,可以非常方便地实现强大的全文检索功能。下面有几款搜索引擎框架也是基于Lucene实现的。官方网站:http://lucene.apache.org/2转载 2017-03-22 22:21:34 · 1494 阅读 · 0 评论 -
java中try 与catch的使用
ry{//代码区}catch(Exception e){//异常处理}代码区如果有错误,就会返回所写异常的处理。 首先要清楚,如果没有try的话,出现异常会导致程序崩溃。而try则可以保证程序的正常运行下去,比如说:try{int i = 1/0;}catch(Exception e){........}一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接转载 2017-03-05 16:21:10 · 4029 阅读 · 1 评论 -
301、404、200、304等HTTP状态
在网站建设的实际应用中,容易出现很多小小的失误,就像MySQL当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果。因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长来说转载 2017-03-04 23:04:28 · 296 阅读 · 0 评论 -
commons-lang中常用方法
public class TestLangDemo { public void charSetDemo() { System.out.println("**CharSetDemo**"); CharSet charSet = CharSet.getInstance("aeiou"); String demoStr =转载 2016-07-19 16:00:59 · 1475 阅读 · 0 评论