Java
文章平均质量分 84
丶从此过客
了无牵挂者忘生,心有所爱者忘死
展开
-
JVM - 进入Java虚拟机的真实世界
文章目录JVM - 进入Java虚拟机的真实世界1.探索虚拟机的内存区域1.1 运行时数据区JVM - 进入Java虚拟机的真实世界 相信对Java编程有了一定程度了解的同学,多多少少都已经听说过、了解过Java虚拟机。就算你还未开始学习Java编程但已经打算计划去学习,那你也肯定听说过一本书《深入理解Java虚拟机 JVM高级特性与最佳实践 》。在我当时正计划踏入Java这个大家庭的时候,...原创 2019-10-24 20:38:37 · 429 阅读 · 0 评论 -
Linux环境配置-Jdk
1.下载JDK先查看Linux系统是多少位(32位/64位):getconf LONG_BIT 然后去官网下载JDK2.查看是否安装过javarpm -qa | grep java如果是centos 一般会自带两个openjdk全部删掉rpm -e --nodeps 要卸载的包 (包通过上面的指令可以获取到)]先卸载7 再卸载63.解压安装3.1选择安装JDK的位置原创 2018-01-11 10:39:59 · 35310 阅读 · 0 评论 -
Linux环境配置-Tomcat
1.下载tomcat从tomcat官网下载tomcat的压缩包apache-tomcat-7.0.75.tar.gz。2.解压安装2.1将apache-tomcat-7.0.75.tar.gz上传到服务器并移动到/usr/local目录下 mv apache-tomcat-7.0.75.tar.gz /usr/local/2.2进入/usr/local目录(cd /usr原创 2018-01-11 10:46:12 · 35299 阅读 · 0 评论 -
Linux-Tomcat访问问题
访问tomcat 需要关闭防火墙或者设置防火墙过滤防火墙修改 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT//添加3306到忽略列表中 /etc/rc.d/init.d/iptables save保存规则 iptables -L –n查看忽略列表//如果要关闭防火墙 ,不推荐关闭 service原创 2018-01-11 11:29:19 · 35287 阅读 · 0 评论 -
Hibernate-2.Hibernate快速入门
2.1开发步骤 2.1.1创建数据库和表 2.1.2创建对应实体类 2.1.3导入Hibernate的jar包 1.外层的hibernate3.jar hibernate3.jar 2.lib\required 里面的所有jar包 antlr-2.7.6.jar原创 2018-01-04 12:25:15 · 35309 阅读 · 0 评论 -
Hibernate-1.Hibernate概述
1.1什么是Hibernate 纯面向对象的方式来操作数据库HQLSQL1.Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架a)ORM 就是通过将Java对象映射到数据库表,通过操作Java对象,就可以完成对数据表的操作2.Hibernate提供了对关系型数据库增删改成操作1.2 Hibernate的优点1.Hiberna原创 2018-01-04 12:02:28 · 35587 阅读 · 0 评论 -
Hibernate-3.映射(Mapping)
3.1多表关系表和表之间存在的关系就是主外键关系,而对象和对象之间通常存在以下三种关系:一对一,一对多,多对多我们首先一起来看看表之间是怎么建立这三种关系的。一对一:(一个人对应一个身份证号)一对多:(一个客户对应多个订单)多对多:(老师可以带多个班级,一个班可以被多个老师带)3.2 一对多关联关系映射重点掌握一对多的单向和双向关联映射,开发中最常用1.创建具备一对多关原创 2018-01-04 13:56:28 · 35610 阅读 · 0 评论 -
Hibernate-4.抓取策略(查询)
4.1检索方式1.立即检索:立即查询,在执行查询语句时,立即查询所有的数据。2.延迟检索:延迟查询,在执行查询语句之后,在需要时在查询。(懒加载)4.2检索级别1.类级别检索:当前的类的属性获取是否需要延迟。2.关联级别的检索:当前类 关联 另一个类是否需要延迟。4.2.1类级别检索 get:立即检索。get方法一执行,立即查询所有字段的数据。 load:延原创 2018-01-04 14:28:23 · 35258 阅读 · 1 评论 -
Hibernate-5.HQL
HQL(Hibernate Query Language)描述对象操作的一种查询语言。与SQL不同的是,HQL是面向对象的查询,查询的是对象和对象中的属性注意:HQL中的关键字不区分大小写,但是类名和属性名区分大小写5.1查询所有 5.2查询单个对象 5.3投影投影,就是只是查询部分字段 5.4排序 5.5分页 5.6绑定参数 5.7聚合函原创 2018-01-04 14:45:15 · 35431 阅读 · 0 评论 -
Hibernate-6.QBC
QBC:Query By Criteria 条件查询,即面向对象的查询方式6.1查询所有 6.2分页 6.3排序 6.4条件查询 6.5多条件查询 6.6模糊查询 6.7 In 6.8 And 6.9 OR 6.10聚合函数 6.11 Max 6.12 内连接 6.13 左连接原创 2018-01-04 16:11:30 · 35276 阅读 · 0 评论 -
Hibernate-7.缓存Cache
7.1什么是缓存缓存(Cache): 计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写硬盘(永久性数据存储源)的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存缓存:程序硬盘7.2什么是二级缓存1.hibernate 提供缓存机制:一级缓存、二级缓存 a)一级原创 2018-01-04 16:26:23 · 35249 阅读 · 0 评论 -
Hibernate-8.批量处理
8.1批量查询1.当人员 关联查询 手机信息,给每一个客户生产一个select语句查询订单。批量查询使用in语句减少查询订单语句个数。2.默认:select * from t_order where customer_id = ?3.批量:select * from t_order where customer_id in (?,?,?,?)4. 5表示括号中?个数。原创 2018-01-04 16:32:22 · 35228 阅读 · 0 评论 -
Hibernate-10.整合C3P0以及配置隔离级别
10.1整合C3P01.导入c3p0 jar包 a)hibernate-distribution-3.5.6-Final\lib\optional\c3p02.hibernate.cfg.xml 配置c3p03.配置最大连接数 10.2配置隔离级别回顾事务的特性ACID原子性,一致性,隔离性,持久性原子性:要么一起成功,要么一起失败。一致性原创 2018-01-04 16:55:11 · 35349 阅读 · 0 评论 -
Hibernate-9.锁
9.1数据库的锁a)悲观锁(数据库提供实现) . 默认认为一定发生别人要修改我使用的数据. 那我就可以为我读取的数据加锁.i.select * from table for update (写锁、排它锁)b)Hibernate 如何来实现i.get方法设置读取模式 9.2乐观锁(需要自己实现)a)重点理解乐观锁的实现原理b)Hibernate已封装了实现c)在类里面添加原创 2018-01-04 17:00:07 · 35257 阅读 · 0 评论 -
Struts2-1.Struts2概述
1.1什么是Sturts2 Struts 2 是 Struts 的下一代产品,它是在 Struts 1 和 WebWork 技术的基础上进行了合并 全新的 Struts 2 与 Struts 1 差别巨大,但是相对于 WebWork,Struts 2 的变化很小。 Struts 2并不是一门完全独立的技术,而是建立在其他 Web 技术之上的一个 MVC 框架。Stru原创 2018-01-04 18:12:28 · 35295 阅读 · 0 评论 -
Struts2-2.实现Action的三种方式
2.1普通方式 2.2实现Action接口 2.3继承ActionSupport原创 2018-01-05 09:31:53 · 35352 阅读 · 0 评论 -
Struts2-3.获取客户端请求数据三种方式
3.1 Action普通属性方式 3.2 Action自定义对象属性方式 3.3 Action实现ModelDriven方式原创 2018-01-05 11:43:28 · 35309 阅读 · 0 评论 -
Struts2-4.Struts2访问Servlet API的三种方式
在 Struts 2 中,Action 已经与 Servlet API 完全分离,但我们在实现业务逻辑时,经常要访问 Servlet 中的对象,如 session、application 等。在 Struts 2 框架中访问 Servlet API 有如下几种方法:4.1 通过ActionContext类 4.2 实现xxxAware接口 4.3 通过ServletActio原创 2018-01-05 11:45:45 · 35254 阅读 · 0 评论 -
Struts2-5.namespace配置
Struts 2 框架按照以下顺序来执行 Action。(1) 查找命名空间下的 Action,首先是匹配命名空间,如果不匹配就一层层往上找,直到根命名空间为止,(2)在命名空间下查找匹配的action,匹配则执行,不匹配 ,则进入默认命名空间下,查找指定的 Action,找到则执行。如果找不到,Struts 2 程序出现异常。5.1 struts.xml 5.2 jspFro原创 2018-01-05 11:48:12 · 35452 阅读 · 0 评论 -
Struts2-6.Action配置
6.1 method属性处理调用 6.2 DMI调用在实际应用中,随着应用程序的不断扩大,我们不得不管理数量庞大的 Action。例如,一个系统中,用户的操作可分为登录和注册两部分,一个请求对应一个 Action 的话,我们将要编写两个 Action 来处理用户请求。在具体开发过程中,为了减少 Action 的数量,通常在一个 Action 中编写不同的方法(必须遵守 execut原创 2018-01-05 11:53:26 · 35334 阅读 · 0 评论 -
Struts2-7.Result配置
7.1常用的Result类型目前掌握转发,重定向的区别 7.2通过请求参数动态配置Result${属性名}中的属性名对应 Action 中属性的名称案例:在首页面 input.jsp 中,用户输入一个 JSP 的文件名称,随后系统转向到该响应的资源7.3全局ResultResult的配置分为两类——局部 Result 和全局 Result。局部 Result:原创 2018-01-05 11:57:23 · 35265 阅读 · 0 评论 -
Struts2-8.ActionContext
8.1什么是ActionContext ActionContext就是一个Map结构的容器表示Action的上下文,存放Action执行过程中的信息,包括request,session,application等数据。Struts2的Action不依赖于Web容器,本身只是一个普通的Java类。但是,如果开发中我们需要用到request之类的对象,则可以通过ActionContext原创 2018-01-05 12:01:21 · 35238 阅读 · 0 评论 -
Struts2-9.OGNL
9.1什么是OGNLOGNL 的全称是 Object Graph Navigation Language,即对象导航图语言。它是一个开源项目,工作在视图层,用来取代页面中的 Java 脚本,简化数据的访问操作。9.2 OGNL使用原则 存在值栈的数据可以直接取,而存在非值栈的数据就要通过#来获取 以下案例是通过手工的方式来设置context和rootRoot的数据原创 2018-01-05 12:09:06 · 35227 阅读 · 0 评论 -
Struts2-10.Struts2标签库
10.1什么是Struts2标签库对于一个 MVC 框架来说,重点是实现两个部分,一个是控制器部分,一个是视图部分。Struts 2 框架也把重点放在了这两部分上:控制器主要由 Action 来提供支持,而视图则是由大量的标签来提供支持。Struts 2 标签库使用 OGNL 表达式作为基础,实现对于集合、对象访问的功能。10.2 Struts2标签分类Struts 2 的标签非原创 2018-01-05 13:52:19 · 35245 阅读 · 0 评论 -
Eclipse-Spring Boot项目构建
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。也就是说,Spring Boot是为了简化Spring开发而生,主要...原创 2018-01-15 13:42:44 · 37659 阅读 · 1 评论 -
Struts2-11.特殊类型转换器
Struts2默认就帮我们做了类型的转换演示struts2对于各种数据类型的转换处理1.字符串2.数字3.日期其实上基本的开发类型,struts都给我们做了转换但是如果是特殊的类型,则需要自己来编写转换器和配置1.日期的添加2.日期的显示3.理顺增删改查关于日期方面的处理自定义类型转换Point(x,y)point1.jsp是之前的方式来提交点的两个坐标原创 2018-01-06 17:39:15 · 35241 阅读 · 0 评论 -
Struts2-12.validate校验三种方法
12.1重写validate方法该方式Action中所有方法都进行校验, addFieldError()返回input 12.2重写validateXXX方法该方式只校验指定xxx方法, addFieldError()返回input 12.3校验框架ActionName-validation.xml1.编写校验规则文件是一个典型的XML文件,其格式为Ac原创 2018-01-05 14:01:34 · 35621 阅读 · 0 评论 -
Struts2-13.Interceptor
拦截器 1.概念(什么是拦截器,拦截器栈,拦截器跟过滤器的区别) 2.应用什么是拦截器,拦截器栈 类比于过滤器,过滤器链每个拦截器只有一个实例,采用单例模式,所以如果拦截器中使用的是类变量,要注意同步问题。 拦截器是AOP的一种实现,Struts2的拦截器实现原理相对简单,当请求Struts2的action时,struts2会查找配置文件,并根据其配置实例化对应的拦截器对象,如果有原创 2018-01-06 17:40:52 · 35272 阅读 · 0 评论 -
Struts2-14.Struts2文件上传下载
14.1单文件上传Struts2默认采用Common-FileUpload组件来实现文件上传,只是在此基础之后做了一层封装。所以,之前依赖的jar包依然需要commons-fileupload-1.3.1.jar,commons-io-2.2.jar首先表单依旧不变 或者 Action:IO写法Struts2写法14.2限制上传类型和大小原创 2018-01-06 17:58:20 · 35215 阅读 · 0 评论 -
Struts2-15.MyStruts(模拟Struts2)
15.1准备工作(回顾xml解析)15.1.1 SAX解析SAX(基于事件流的解析):省内存,但不能实现对文档内容的修改,只能读取。Simple APIs for XML,XML简单应用程序接口,在javax.xml.parsers包中,SAX解析是JDK自带的解析方式,包括一组接口和类 a) SAX解析原理 以事件驱动的方式解析,即找开始结束标签的方式 SA原创 2018-01-06 18:15:36 · 35301 阅读 · 0 评论 -
Struts2-16.Struts2国际化
16.1什么是国际化、本地化国际化:国际化(Internationalization,i18n)是程序在不做任何修改的情况下,就可以根据当地的语言和格式习惯显示字符。本地化:一个国际化程序,当他运行在本地计算机上时,可以根据本地计算机的语言和地区设置显示相应的字符,这个过程叫本地化。目前,最常见的国际化支持就是中文,英文16.2 Java内置国际化Struts2的国际化依赖于原创 2018-01-06 18:24:12 · 35372 阅读 · 0 评论 -
Spring-1.Spring概述
1.1什么是Spring1. Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的full-stack (一站式) 轻量级开源框架。Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。原创 2018-01-06 18:42:05 · 35351 阅读 · 0 评论 -
Struts2-2.SpringIOC
IOC:控制反转,将对象创建的权利转移到第三方的容器来管理2.1.导包(jar)4+1:4个核心(beans、core、context、expression) + 1个依赖(commons-loggins.jar)2.2创建接口和目标类 2.3创建Spring主配置文件(applicationContext.xml) 参考文档: spring原创 2018-01-06 18:46:28 · 35291 阅读 · 0 评论 -
Spring-3.SpringDI
依赖注入,Dependency Injection什么是依赖?Is a 继承has a 依赖依赖:一个对象需要使用另一个对象注入:通过第三方来对另一个对象进行实例化3.1创建Dao/Service(Service依赖于Dao) 注意:userDao需要提供构造方法/set方法3.2配置依赖关系原创 2018-01-06 18:48:18 · 35258 阅读 · 0 评论 -
Spring-4.Bean的装配细节
4.1实例化方式4.1.1 默认构造(常用) 注意: UserDaoImpl必须提供默认的构造方法 4.1.2 静态工厂 注意: 静态工厂用于生成实例对象,所有的方法必须是static 4.1.3 实例工厂 实例工厂:必须先有工厂实例对象,通过实例对象创建对象。提供所有的方法都是“非静态”的。 4.2作用域原创 2018-01-06 18:53:24 · 35290 阅读 · 0 评论 -
Spring-5.注解实现Bean装配(java-xml-java)
5.1配置applicationContext.xml 5.2给对应bean加注解 Annotation @Autowired,Resource 自动装配依赖,默认是按照类型来装配@Resource(name="userDao"),自动按照名字来装配@Scope("prototype") @Repository:dao层@Service:service层原创 2018-01-07 21:09:08 · 35446 阅读 · 0 评论 -
Spring-6.SpringAOP
6.1什么是AOPAspect Oriented Programming:面向切面编程什么时候会出现面向切面编程的需求?按照软件重构的思想,如果多个类中出现重复的代码,就应该考虑定义一个共同的抽象类,将这些共同的代码提取到抽象类中,比如Teacher,Student都有username,那么就可以把username及相关的get、set方法抽取到SysUser中,这种情况,我们称为纵向抽取原创 2018-01-07 22:07:15 · 35353 阅读 · 0 评论 -
Spring-7.SpringDao
7.1 模块化访问模式在直接使用具体的持久化技术时,我们大多需要处理整个流程。Spring为支持的持久化技术分别提供了模板访问的方式,降低了使用各种持久化技术的难度,可以大幅提高开发效率。使用模板和回调机制Spring为各种支持的持久化技术都提供了简化操作的模板和回调,在回调中编写具体的数据操作逻辑,使用模板执行数据操作,在Spring中,这是典型的数据操作模式。JDBCTemplate原创 2018-01-07 22:18:46 · 35244 阅读 · 0 评论 -
Spring-8.Spring管理事务
8.1 事务回顾 事务的特性:ACID事务的隔离级别JDBC的事务操作connection.setAutoCommit(false)connection.commit();connection.rollback()savePoint(回滚点)1-10 savepoint111-20 savepoint28.2 三个顶级接口PlatformTransactio原创 2018-01-07 22:33:25 · 35379 阅读 · 0 评论 -
Spring-9.Spring整合Hibernate
9.1 HibernateDaoSupport9.1.1 导包 9.1.2 EntityEntity.hbm.xml 9.1.3 Dao 9.1.4 Service9.1.5 配置applicationContext.xml 9.1.6 hibernate.cfg.xml 9.1.7 应用原创 2018-01-07 22:41:56 · 35194 阅读 · 0 评论