
Java学习
文章平均质量分 80
caidie_huang
这个作者很懒,什么都没留下…
展开
-
如何获取并操作JavaBean属性
我们要是想要获取或是设置JavaBean中的属性,一般会使用内省机制来实现,其核心类为IntrospectorIntrospector 类为通过工具学习有关受目标Java Bean 支持的属性、事件和方法的知识提供了一个标准方法。简单地说,想操作JavaBean中属性,可通过内省机制,使用Introspector类中的static BeanInfo getBeanInfo(Clas原创 2016-08-30 20:55:16 · 2338 阅读 · 0 评论 -
mybatis:org.apache.ibatis.ognl.ParseException: Encountered " <IDENT> "OR "" at line 1, column 26错误解决
在mybatis项目中有一个sql做了对list集合做判空操作,sql如下:&lt;if test="personnelHasList == null OR personnelHasList.size == 0"&gt;运行项目的时候发现时不时会出现以下报错情况:Servlet.service() for servlet [dispatcherServlet] in context...原创 2018-08-09 16:36:40 · 18774 阅读 · 5 评论 -
线程通信-等待和唤醒机制和锁(Lock)机制
生产者和消费者案例分析:经典的生产者和消费者案例(Producer/Consumer): 分析案例: 1):生产者和消费者应该操作共享的资源(实现方式来做). 2):使用一个或多个线程来表示生产者(Producer). 3):使用一个或多个线程来表示消费者(Consumer).生产者消费者原创 2016-10-07 14:19:57 · 3566 阅读 · 3 评论 -
线程同步:解决线程不安全问题
当多个线程并发访问同一个资源对象时,可能会出现线程不安全的问题,比如现有50个苹果,现在有请三个童鞋(小A,小B,小C)上台表演吃苹果.因为A,B,C三个人可以同时吃苹果,此时使用多线程技术来实现这个案例.class Apple implements Runnable{ private int num = 50;//苹果总数 public void run() { for (int原创 2016-10-07 12:30:16 · 4925 阅读 · 0 评论 -
创建和启动线程的两种方式
方式1:继承Thread类步骤:1):定义一个类A继承于java.lang.Thread类.2):在A类中覆盖Thread类中的run方法.3):我们在run方法中编写需要执行的操作:run方法里的代码,线程执行体.4):在main方法(线程)中,创建线程对象,并启动线程.(1)创建线程类对象: A类 a = new A类();原创 2016-10-07 10:52:48 · 34129 阅读 · 2 评论 -
进程与线程概述
并行与并发并发和并行是即相似又有区别(微观概念):并行:指两个或多个事件在同一时刻点发生;并发:指两个或多个事件在同一时间段内发生。 在操作系统中,在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单CPU系统中,每一时刻却仅能有一道程序执行(时间片),故微观上这些程序只能是分时地交替执行。倘若计算机系统中有多个CPU,则这些可以并发执行的程序便可被分原创 2016-10-07 10:27:40 · 462 阅读 · 0 评论 -
SAX解析XML
SAX解析是一种与PULL解析器类似的XML解析的方法,不同的是,使用PULL解析需要程序员自己获取产生的事件做相应的操作。SAX解析的特点是逐行扫描文档,一边扫描一边解析,这种方式比起一次性将整个XML文件加载到内存中的DOM解析方式也更为安全(不易造成内存溢出),也更为快速有效。同时,SAX还可以在解析文档的任意时刻停止解析。当然,它也有缺点,那就是相对来说,SAX的操作复杂一点。 S原创 2016-10-06 10:30:50 · 581 阅读 · 0 评论 -
使用数据库连接池获取JDBC数据库
为什么必须使用数据库连接池: 1.普通的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接时都要将Connection加载到内存中,再验证用户名和密码。需要数据库连接的时候,就向数据库要求一个,执行完后就断开连接,这样的方式会消耗大量的资源和时间,数据库的连接资源并没有得到很好的重复利用。若是同时有几百人甚至几千人在线,频繁地进行数据库连接操作,这将会占用很多的系原创 2016-09-23 16:23:38 · 5441 阅读 · 0 评论 -
Java模拟银行转账(操作事务)
案例:A给B转10000块钱1.准备工作:在数据库先建一张表(t_account):id name balance-----------------------------------------------------------------------1 A 200002 B 0---------------------------------------原创 2016-09-23 15:59:15 · 18346 阅读 · 5 评论 -
事务的简单介绍
事务(Transaction,简写为tx):在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态。 为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元: 当每个逻辑操作单元全部完成时,数据的一致性可以保持, 而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退(rollBack)到开始状态。原创 2016-09-23 15:56:38 · 632 阅读 · 0 评论 -
Statement和PreparedStatement的区别
1).PreparedStatement代码的可读性和可维护性. (SQL模板,使用占位符表示参数)String sql = "select * from t_student where name = ? "; //连接数据库 Connection conn = DBUtils.getConnection(); //创建语句对象 PreparedStatement ps =原创 2016-09-23 15:46:53 · 1378 阅读 · 0 评论 -
通过JDBC获取数据库连接
获取数据库的连接,步骤:在程序当中要操作数据库,第一步应该将对应数据库的驱动包拷贝到项目中2.获取连接:口诀:贾琏欲执事(贾琏是红楼梦中的人物,是王熙凤的丈夫,王熙凤很强势,因此。。。不过这个口诀跟Java没多大联系,纯属是为了方便记忆)1).加载注册驱动(贾)Class.forName(“驱动类的全限定名”)2).获取连接对象(琏)Connecti原创 2016-09-20 16:00:36 · 5078 阅读 · 0 评论 -
Java JDBC的简单介绍
在Java中,要进行数据库的存取技术一般是通过JDBC访问数据库。 JDBC访问数据库的形式主要有两种: 1).直接使用JDBC的API去访问数据库服务器(MySQL/Oracle). 2).间接地使用JDBC的API去访问数据库服务器.(开发速度快,效率高,执行速度慢,执行效率低) 第三方O/R Mapping工具,如Hibernate, MyBatis等.(原创 2016-09-20 15:42:46 · 599 阅读 · 0 评论 -
Java反射机制
为什么要使用反射?举个例子,程序在运行时接收到外部传入的一个对象,该对象的编译时类型是Object,但程序又需要调用该对象运行时类型的方法,编译时根本无法预知该对象和类可能属于哪些类,程序只能依靠运行时信息来发现该对象和类的真实信息,这时候就必须使用反射。Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个原创 2016-09-20 14:47:33 · 418 阅读 · 0 评论 -
获取Class字节码对象的三种方式
每个类被加载之后,系统就会为该类生成一个对应的字节码对象,通过该字节码对象就可以访问到JVM中的对应的类。在Java中获得Class对象通常有三种方式。方式一,使用类的class属性:Class clz1 = java.util.Date.class;方式二,通过Class类中的静态方法forName(String className),传入类的全限定名(必须添加完整包名)原创 2016-09-17 13:07:17 · 15328 阅读 · 0 评论 -
JavaBean与Map的相互转换
我们都知道,JavaBean中的属性的结构是这样的:属性名=属性值这个结构跟Map集合中的数据结构极其相似:Key=value那么,问题来了,我们是否可以将Map转换为JavaBean(或是将JavaBean转换成Map)来使用呢?也就是说,我们可不可以将Map中key转换为JavaBean中的属性名,将Map中的value转换为JavaBean中的属性值呢?答案是肯定的。原创 2016-08-30 21:15:38 · 9188 阅读 · 1 评论 -
java多个文件压缩打包成zip下载
java多个文件压缩打包成zip下载如果实现批量操作一些文件,使之压缩打包成zip下载?具体实现步骤如下:设置下载文件名编码创建zip输出流ZipOutputStream将需要下载的文件流循环写入ZipOutputStream关闭各个流话不多说,直接上代码service层方法(关键):@Override public void downloadAllFile(HttpS...原创 2018-12-21 14:53:53 · 18418 阅读 · 6 评论