Java
Mrs陶
虽然路程很痛苦,但是依然坚持前行。。。
展开
-
Object中的hashCode()方法
1)对于重写了equals()方法的对象,一般要妥善的重写继承自Object类的hashCode方法(hashCode方法将返回该对象所在内存地址的整数形式:利用的是哈希算法) 2)重写hashCode方法时需注意两点: ----equals比较返回true时,其两个对象的hashCode()方法返回值应该相同 ----equals比较返回fa原创 2015-04-26 20:51:14 · 1311 阅读 · 0 评论 -
字符串与Date日期的相互转换
1、类似与日期字符串:Thu Jan 01 00:00:00 CST 2015,将其转换为日期类型 DateFormat dateFormat=new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy",Locale.US); Date date =dateFormat.parse("Thu Jan 01 00:00:00 CST 2015");原创 2015-10-25 23:46:23 · 1847 阅读 · 0 评论 -
javax.servlet.http.HttpServletRequest cannot be resolved
即eclipse项目里我们导入的项目里提示HttpServletRequest 不能引用,会伴随头疼的小红叉出现具体原因是我们工程里面web-inf/lib目录下少了相应的包:Package javax.servlet.http引起的;缺少TOMCAT_HOME\lib下的servlet-api.jar。解决办法Project -> Properties -> Ja转载 2015-10-27 12:42:32 · 429 阅读 · 0 评论 -
java枚举
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。package com.ljq.test;/** * 枚举用法详解 *转载 2015-05-06 21:39:28 · 487 阅读 · 0 评论 -
Java使用imageio 读写图像
Java中进行图像I/O(即读图片和写图片,不涉及到复杂图像处理)有三个方法:Java Image I/O API,支持常见图片,从Java 2 version 1.4.0开始就内置了。 主页:http://java.sun.com/javase/6/docs/technotes/guides/imageio/index.htmlJAI 中的 Image I/O Tools,支持更多图转载 2016-02-25 09:44:34 · 36557 阅读 · 1 评论 -
jd-gui反编译class // INTERNAL ERROR //
java源文件正常,无报错,通过eclipse编译之后用jd-gui-0.3.6.exe反编译打开,报:// INTERNAL ERROR //错误经过一番搜索与运行验证,编译的class是没问题的,可能是jd-gui-0.3.6.exe工具的问题,故在eclipse插件市场(搜索jad)为eclipse安装编译插件,安装好之后打开编译的class正常,艾玛,折腾死我了,花了我三四个小时啊原创 2017-03-03 14:58:30 · 16475 阅读 · 1 评论 -
json字符串出现转义符,导致调用者使用ObjectMapper解析成Map报错
json1串:{"orderCount":0,"signType":"SHA256WithRSA","sign":"85022E420F6F0429A2A1F8774C66C04BFF6085CEE37C6DC085F366733081689C16639B03B34455B7BAA2659E82FF8FD8A031643DA7D9A24B2F2898404758C0BD64F889E1B0C5原创 2017-02-27 17:16:29 · 6297 阅读 · 1 评论 -
java线程高并发
一、java并发更新数据库同一条数据分2分情况:(一)、普通的单应用并发,使用关键字synchronized就可以实现。(二)、多应用或多台(比如集群部署)并发,这时在由于2者并非同一应用,使用synchronized并不能满足要求。此时,有下面几种方案:(1)数据库行级锁,优点是简单粗暴,缺点是容易死锁,非数据库专业人事建议不使用。(2)写入请求分离成一个独立项目,这就回原创 2017-08-09 10:19:33 · 208 阅读 · 0 评论 -
java高级:Thread之ScheduledExecutorService的使用
一:简单说明ScheduleExecutorService接口中有四个重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在实现定时程序时比较方便。下面是该接口的原型定义java.util.concurrent.ScheduleExecutorService extends ExecutorService extends Executor...转载 2018-11-26 13:56:01 · 1009 阅读 · 2 评论 -
java并发编程-ThreadLocal本地线程副本变量工具类
ThreadLocal是什么ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。从数据结构入手下图为ThreadLocal的内部结构图ThreadLocal结构内部从上面的结构图,我们已经窥见ThreadLo...转载 2018-11-29 13:56:37 · 597 阅读 · 0 评论 -
Java并发编程-synchronized同步方法、同步块、脏读、锁重入、死琐
一、同步注意事项1、方法内的变量为线程安全“非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题(这是方法内部的变量是私有的特性造成的,所得结果也就是“线程安全”的了,方法的变量存放在JVM里的虚拟机栈里)。2、实例变量非线程安全如果多个线程共同访问1个对象中的实例变量,则可能出现”非线程安全“问题。如果对象仅有1个实例变量,则有可能出现覆盖的情...转载 2018-11-28 14:03:15 · 225 阅读 · 0 评论 -
Java中设置classpath、path、java_home的作用
之前jdk的安装和配置一直是通过txt记录步骤,一直没有去理解过几个参数的作用,今天看《深入理解java虚拟机》,使用JConsole工具突然发现cmd中提示没有该命令,于是乎仔细查了下,现将搜索结果编辑记录下,留给后来的学习者(Tip:不要一味的光会配置,配置之余最好还是理解其含义) 以下是引用谷雨对该内容的总结: Java 解释器的工作程序如下(Thinkin...转载 2019-05-30 10:40:08 · 1403 阅读 · 0 评论 -
eclipse export runnable jar(导出可执行jar包)
如果要导出可运行的JAR文件,需要选择Runnable Jar File。1. 选择要到处JAR文件的工程,右键选择“Export”;2. 选择“Java-->Runnable JAR file”,点击“Next”;3. 在“Launch configuration”下面的下拉列表中选择程序启动时运行的主类(即项目中带有main方法的类,项目入口)在"E转载 2015-11-08 23:08:52 · 13670 阅读 · 0 评论 -
ThreadLocal类及应用技巧
一、基本类型变量共享package com.test;import java.util.Random;/** * * @author taoweiwei * ThreadLocal:实现线程范围内单个变量共享,一个ThreadLocal对象代表一个变量,故其中只能放一个数据。 * ThreadLocal并不是一个Thread,而是Thread的局部变量,其本质也是通过内部定义原创 2015-10-07 23:09:36 · 449 阅读 · 0 评论 -
Thread01:互斥
package com.test;/** * * @author taoweiwei * 1、内部类不能访问外部非final对象 * 2、内部类可以直接访问外部类成员变量,即此时向内部类传入外部类实例 * 3、本类中的两个线程访问同一个output变量,此时没有做任何互斥措施, * 可能出现该对象输出的结果出现两个线程抢夺资源的情况, * 即可能会输出:babahaizi原创 2015-08-08 12:12:25 · 390 阅读 · 0 评论 -
javabean内省-处理类属性、事件
内省(Introspector) 是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。 JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象”(Value Object),或“VO”。方法比较少。这些信息储存在类的私有变量转载 2015-04-28 23:00:33 · 850 阅读 · 1 评论 -
properties资源文件加载方式
第一步:新建java project,本人新建项目结构如下:(此处不是web项目,但web项目与此类似,可以自己研究下)第二步:新建config.properties,其中存放内容如下:className=java.util.ArrayList第三步:集体演示不同路径下config.properties加载方式package cn.itcast.day;import jav原创 2015-04-27 21:22:06 · 709 阅读 · 0 评论 -
java.util.Properties类
学习目标: 1、认识properties文件,理解其含义,会正确创建properties文件。2、会使用java.util.Properties类来操作properties文件。3、掌握相对路径,能正确书写一个properties文件的相对路径。 一、认识properties文件 1、properties文件是一个文本文件2、转载 2015-04-27 22:05:48 · 398 阅读 · 0 评论 -
如何获取java中泛型参数的实际类型--反射获取
package cn.itcast.oa.base.impl;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.List;import javax.annotation.Resource;import org.hibernate.Session;imp原创 2015-03-22 22:48:07 · 4591 阅读 · 1 评论 -
java反射机制
Java 反射是Java语言的一个很重要的特征,它使得Java具有了“动态性”。 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Java 反射机制主要提供了以下功能:在运原创 2015-04-28 20:51:07 · 405 阅读 · 0 评论 -
java注解
注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事。标记可以加在包,类,字段,方法,方法的参数以及局部变量上。主要涉及包:java.lang、java.lang.annotation转载 2015-04-29 23:03:10 · 591 阅读 · 0 评论 -
Java泛型
一、了解泛型 泛型是jdk1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在jdk1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而原创 2015-05-15 10:44:00 · 665 阅读 · 0 评论 -
java类加载器
Java类加载器(英语:Java Classloader)是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使用该类时才加载。由于有了类加载器,Java运行时系统不需要知道文件与文件系统。 类加载器安装在JVM(java虚拟机)中,可以安装多个,系统默认三个主要类加载器:每原创 2015-05-16 17:11:30 · 433 阅读 · 0 评论 -
java动态代理案例:Spring中Aop功能的模拟
第一:定义通知规范,即接口package com.itcast.proxy;import java.lang.reflect.Method;/** * 模拟通知 * @author Administrator * */public interface Advice { /** * 前置通知 * @param method */ public void befor原创 2015-05-17 15:13:58 · 675 阅读 · 0 评论 -
Thread02:线程同步通信
package com.test;/** * * @author taoweiwei * 问题:子线程循环10次,接着主线程循环100,接着又回到子线程10次, * 接在再回到主线程又循环100,如此循环50次,请写出程序。 * 经验:1、要用到共同数据(包括同步锁)的若干个方法应该归属在同一个类身上, * 这种设计正好体现了高类聚和程序的健壮性。 *原创 2015-08-08 12:14:03 · 626 阅读 · 0 评论 -
java中定时器(java.util.Timer)
package com.wonders.test;import java.util.Timer;import java.util.TimerTask;/** * * @author Administrator * 定时器 * Timer:定时器 * TimerTask:定时任务 * Quartz:Quartz是一个完全由java编写的开源作业调度框架 */public原创 2015-07-20 22:36:08 · 424 阅读 · 0 评论 -
Java多线程下载原理
我们把服务器的上的文件看作水缸的水,要想取走水缸里面的水的话,那么多线程下载就相当于用多条管子抽水一样。多线程下载大约可以分为以下几个步骤:1.要知道服务端资源的大小。2、在本地创建一个与服务器资源同样大小的一个文件,主要是用来占位;Paste_Image.png//file : 文件; mode:文件的模式,rwd:直接写到底层设备,硬盘RandomAccessFile ...转载 2019-07-15 14:19:22 · 148 阅读 · 0 评论