- 博客(38)
- 资源 (3)
- 收藏
- 关注
原创 java.io.FileNotFoundException(系统找不到指定的路径。)
解决方法:1.检查文件名是否正确2.检查文件后缀是否正确3.使用FileOutputStream时,如果文件不存在,会自动创建文件。但是,如果文件夹不存在,就会报错"系统找不到指定的路径"
2020-07-24 16:47:08
2939
原创 idea淇℃伅 乱码
将apache-tomcat-8\conf中的logging.properties文件中的#java.util.logging.ConsoleHandler.encoding = UTF-8替换为java.util.logging.ConsoleHandler.encoding = GBK
2020-07-24 10:45:57
189
原创 Error creating bean with name ‘sqlSessionFactory‘ defined in class path resource
注释掉xml文件中的<!--<property name="mapperLocations" value="classpath:mapper/*.xml"/>-->
2020-07-24 10:42:00
354
原创 Hibernate源码解析
我在用了hibernate一段时间后,我把hibernate的源代码放在一个src下面,然后开始分析,第一步写一个junit,然后new了一个configuration,我发现configuration是用doConfigure去检测我的hibernate.cfg.xml将他转换成inputstream输出流对象,然后由dom4j进行解析,一旦发现xml的配置的格式有问题就会抛出一个异常,可是跟数
2017-10-09 10:58:46
896
原创 Set源码分析
HashSet源码312行。 对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成Hash值一样的情况下,调用equals()方法,判断对象内存地址是否相同。如果相同,则不存。如果不相同,解决hash冲突后,(参考h
2017-10-09 10:55:50
345
原创 String源码分析
String源码3103行。 publicfinalclassStringimplementsjava.io.Serializable,Comparable,CharSequence{...}可以看出String是final类型的,表示该类不能被其他类继承,同时该类实现了三个接口:java.io.Serializable Comparable CharSequence因为Strin
2017-09-28 08:48:03
406
原创 Map源码分析
hashMap 源码 1192行。一、HashMap概述 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。值得注意的是HashMap不是线程安全的,如果想要线程安全的
2017-09-28 08:45:10
398
原创 在JAVA中如何跳出当前的多重嵌套循环
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如,ok:for(int i=0;ifor(int j=0;jSystem.out.println(“i=” + i +“,j=” + j);if(j == 5) break ok;}}另外,很
2017-09-14 10:34:53
240
原创 RabbitMQ消息队列
RabbitMQ是一个消息代理。它的核心原理是接收和发送消息。RabbitMQ和消息,有一些专有名词,如下:生产(Producing)的意思是发送,发送消息的程序就是一个生产者(producer)。队列(queue)的意思是名称,消息通过你的应用程序和RabbitMQ进行传输,它们能够只存储在一个队列(queue)中。队列(queue)没有任何限制,你要存储多少消息都可以——基本上是一
2017-09-12 09:21:38
869
原创 常见的设计模式
单例模式:永远只有这一个实例对象,不管执行什么操作。1、懒汉式:当调用方法时,才能获取所需单例对象,单例对象才能被创建。2、饿汉式:初始类时,单例对象创建。实现单例条件:1.私有的构造函数2.私有的静态全局变量3.公有的静态方法工厂模式:sessionFactory.openSession()每操作一次,创建一个我们所需的对象。sessionFactory每操作一次
2017-08-31 15:05:29
197
原创 对ORM对象关系映射的理解
ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。
2017-08-21 20:03:39
455
转载 模块化开发
什么是模块化?模块化是个一般概念,这一概念也适用于软件开发,可以让软件按模块单独开发,各模块通常都用一个标准化的接口来进行通信。实际上,除了规模大小有区别外,面向对象语言中对象之间的关注点分离与模块化的概念基本一致。通常,把系统划分外多个模块有助于将耦合减至最低,让代码维护更加简单。类是模块类库毫无疑问也是模块。对于类库来讲,可能没有一个单一接口与之通信,但往往却有‘pub
2017-08-21 14:40:39
317
原创 mybatis事务管理方式
Mybatis管理事务是分为两种方式:(1)使用JDBC的事务管理机制,就是利用java.sql.Connection对象完成对事务的提交(2)使用MANAGED的事务管理机制,这种机制mybatis自身不会去实现事务管理,而是让程序的容器(JBOSS,WebLogic)来实现对事务的管理在Mybatis的配置文件中可以配置事务管理方式如下:
2017-08-21 08:05:45
472
转载 如何正确地写出单例模式
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。懒汉式,线程不安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。
2017-08-18 08:28:58
188
原创 BS与CS的联系与区别
C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Or
2017-08-16 20:45:35
270
原创 多线程有几种实现方法?同步有几种实现方法?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notifywait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一
2017-08-16 20:41:16
404
原创 final, finally, finalize的区别
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码…… finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JV
2017-08-16 20:39:57
164
原创 set的底层实现
Java中的set是一个不包含重复元素的集合,确切地说,是不包含e1.equals(e2)的元素对。Set中允许添加null。Set不能保证集合里元素的顺序。在往set中添加元素时,如果指定元素不存在,则添加成功。也就是说,如果set中不存在(e==null ? e1==null : e.queals(e1))的元素e1,则e1能添加到set中。
2017-08-16 10:39:15
3048
原创 spring控制反转和依赖注入的区别
IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理。DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。它们是spring核心思想的不同方面的描述。DI 和 IOC DI和IOC是差不多的概念。一个重要特征是接口依赖,是把对象关系推迟到运行时去确定.DI是一个初始化
2017-08-16 10:35:38
2009
原创 Target runtime Apache Tomcat 6.0 is not defined 解决方法
eclipse 4.1 导入项目后 Target runtime Apache Tomcat v6.0 is not defi...下载最新版本eclipse4.1后,导入以前的项目,报以下错误,但不影响操作:Description Resource Path Location TypeTarget runtime Apache Tomcat v6.0 is not def
2017-08-16 10:23:11
403
原创 Java反射
运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法.这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制.反射机制的原理 一切皆对象----类也是对象 //知道类中的内容 :modifier constructor field method 1.在运行时判断任意一个对象所属的
2017-08-15 20:40:51
224
原创 Spring注解
@Component: 标注一个普通的Spring Bean类 @Controller: 标注一个控制器组件类 @Service: 标注一个业务逻辑组件类 @Repository: 标注一个DAO组件类@Resource配置依赖:==元素的ref属性,可以修饰setter方法 ,甚至直接去掉@Qualifier,允许根据Bean的id来执行自动
2017-08-15 20:36:51
217
原创 事务的四个特点
A:原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。B:一致性(Consistency) 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。C:隔离性(Isolation) 一个事务的执行不能被其他事务干扰。D:持续性/永久性(Durability
2017-08-11 08:15:23
228
转载 HDFS
一:HDFS简单介绍 HDFS,顾名思义 Hadoop Distributed File System,翻译过来就是hadoop分布式文件系统,至于它的来历我就不说了,网上比比皆是。随着数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统
2017-08-08 16:33:05
248
原创 yarn
yarn运行过程 1)client提交作业和app master一块发送到resourcemanager 2)resourcemanager给app master分配资源,然后通知nodemanager开辟一个container,启动app master 3)app master向resourcemanager注册 4)app master向resource
2017-08-08 14:35:20
198
转载 Linux常用命令
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui
2017-08-08 09:07:18
196
原创 正则表达式例子
正则表达式定义:用一些特殊符号表达一些有规律的式子 qq号: 10000以上的QQ号(5位以上的数字,第一位不能为0) /^[1-9]\d{4,}$/ 10000以上的QQ号(5位到11位的数字,第一位不能为0) /^[1-9]\d{4,10}$/ 手机号:13、15、17、18 1
2017-08-08 09:00:36
249
转载 数据库的基本SQL查询
1. select empno,ename,sal,sal*12,comm,sal*12+nvl(comm,0) from emp;2. select DISTINCT deptno from emp;3. select DISTINCT deptno,job from emp;(DISTINCT作用于后面所有的列)4.select * from emp where deptno=1
2017-08-07 14:01:09
249
转载 webservice的理解
webservice用来实现不同平台,不同项目之间数据传输的,他是跨平台,跨语言,跨项目的。原理:通过SOAP(简单面向对象协议)传送数据Webservice用的时候分为服务端和客户端,它的服务端和客户端没有明确的界线,一个项目既可以作为客户端也可以作为服务端webservice服务端配置流程首先在web.xml中引入cxfServlet核心类,指定对以/cxf开头的url路径提供
2017-08-07 13:40:53
334
转载 SpringMVC的理解
springMVC是基于方法的,其核心就是servlet,用的时候,在web.xml中配置一个DispatcherServlet分发器,在webinfo文件夹下配置一个xml配置文件,这个xml文件主要是用来扫描Controller层,当我们在页面发送一个请求的时候,dispatcherServlet会拦截这个请求,然后把这个请求转发给相应的handler,handlermapping找到对应
2017-08-07 13:39:59
229
转载 hibernate多对多
多对多关联的实现是通过中间表实现的。通过中间表,将这两个表之间的多对多关联关系转换为它们分别和中间表之间的一对多的关联关系。对于Hibernate来说,并不需要建立专门的中间对象来实现这种转换,但是中间表还是需要建立的。Hibernate是通过元素来描述对象之间多对多的关系的级联时必配!!!配置invoice 和 cascadeInvoice = true:维护表关系Cascade =
2017-08-07 13:37:54
184
转载 什么叫抽象类什么叫抽象方法
抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似“模板”的作用,目的是根据其格式来创建和修改新的类。对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象。当一个类被声明为抽象类时,要在这个类前面加上修饰符abstract。 在抽象类中的成员方法可以包括一般方法和抽象方法。抽象方法就是以abstract修饰的方法,这种方法只声明返回的数
2017-08-07 11:22:47
883
转载 Java关键字final、static使用总结
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 fina
2017-08-07 11:13:23
158
原创 Maven总结
maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等Maven的作用到底是什么?当我第
2017-08-07 11:11:54
272
原创 SQL语句优化方案
1. 对查询进行优化,要尽量避免全表扫描,首先应考虑在 where及 order by 涉及的列上建立索引。2. 应尽量避免在 where子句中对字段进行 null值判断,否则将导致引擎放弃使用索引而进行全表扫描,3. 应尽量避免在 where子句中使用 != 或 操作符,否则将引擎放弃使用索引而进行全表扫描。4. 应尽量避免在 where子句中使用 o
2017-08-07 11:06:05
227
原创 解决高并发的几种方法
一、将数据存到redis缓存二、使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器.三、使用Ngnix负载均衡在电商项目中,会有某一件商品许多用户去访问,这个时候就会产生高并发,我解决的方式就是使用redis缓存去解决
2017-08-07 11:00:26
17449
转载 spring定时器
Quartz定时器的介绍Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,可以用来创建简单或者复杂的定时任务,利用Quartz开发定时任务的步骤与Timer类似。Quartz方式实现定时器,方便,清晰指定启动时间,定时参数比较灵活,容易实现比较复杂的定时任务,不足之处是需要实现特定接口,加载其框架Quartz需要的jar包有:commons
2017-08-07 10:56:51
242
转载 Java基础概念
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?参考答案Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2017-08-05 09:18:15
256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人