暂时未有相关云产品技术能力~
Java开发,喜欢交流,个人网站:https://www.javazhiyin.com/ 欢迎多多交流
深入理解[代理模式]原理与技术
漫画 | Redis常见面试问题(一)
十分钟学会Java8:lambda表达式和Stream API
一文读懂HashMap
TCP常见知识点整理
漫画 | 数据库设计全过程
浅析Mysql的隔离级别及MVCC
JDK动态代理-超详细源码分析
漫画 | Spring AOP
漫画 | Spring Framework
springboot学习-整合mybatis实现数据的持久化
springboot学习-使用JdbcTemplate操作MySQL数据库
“问道”论坛上线了
springboot学习-使用spring-data-jpa操作MySQL数据库
springboot学习-搭建第一个springboot应用
算法之单源最短路径
算法之广度优先搜索
算法之深度优先搜索
先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。 一级缓存 一级缓存是SqlSession级别的缓存。
一些小型的项目,有时不想使用框架如MyBatis,Hibernate等开发时,往往在数据持久化时操作比较繁琐,以下提供了对JDBC的封装类,简化JDBC操作。 为了更客观展示MyJDBC,我们通过一般的JDBC连接数据库的增删改查来对比。 JDBC连接数据库操作通常的做法都是先建立一个公共类,来配置数据库信息,加载驱动等,这里不展示公共类(网上到处都是)。 以下对比增删改查: 增(
MyBatis中文官方文档:http://www.mybatis.org/mybatis-3/zh/getting-started.html(这大概是最好的学习材料了) 什么是 MyBatis ? 官方解释:MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配
spring比较庞大,很多功能实现依赖配置文件,比较繁琐的配置文件确实比较头疼,这里通过查阅,上网等方法总结了关于spring配置文件的内容,如果有不全或者失误之处希望大家多多指正。 <beans 这里是配置文件的根节点,所有配置在beans中,内可以包含多个bean xmlns=http://www.springframework.org/sche
报错信息: org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread at org.
spring事务配置的五种方式: 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理
在SSH整合项目中出现了如下错误信息: org.hibernate.LazyInitializationException:could not initialize proxy - no Session org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:149) or
http://freemarker.org/ Freemarker官网,英文,可以用谷歌浏览器的自动翻译,英文水平高的忽略这句。。 简单来说:FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。
ssh整合+json实现增删改查,一个标准的Demo,可以按这个模式开发,感觉蛮方便的,记录下来,避免忘记。 数据库:Oracle;平台:myeclipse 项目结构: POJO类和映射文件: package org.jvsun.pojo; /** * UserInfo entity. @author MyEclipse Persistence Tools */
看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the datab
在很多实际的web应用中,都有需要定时实现的服务,如每天12点推送个新闻,每隔一个小时提醒用户休息一下眼睛,隔一段时间检测用户是否离线等等。 spring框架提供了对定时器的支持,通过配置文件就可以很好的实现定时器,只需要应用启动,就自动启动定时器。下面介绍一下具体做法。 第一种,使用XML配置的方法 前期工作,配置spring的开发环境(这里用到了spring的web应用包,需要导
环境要求:Struts2框架环境搭建成功 为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容基本是key-value对,其中key是程序使用的部分,而value是程序的显示部分。 资源文件的命名可以是如下3种形式: baseName_language_country.properties baseName_language.prop
Bean的基本属性 id属性: Bean的唯一标识名。它必须是合法的XML ID,在配置文件中,不能有重复id的Bean,因为容器在获取Bean的实例时都用它来做唯一索引。 name属性: 用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号,封号或空格分开。 class属性: 用来定义类的全限定名(包名+类名),class属性指明了Bean的来源。
Bean的生命周期: Bean的定义——Bean的初始化——Bean的使用——Bean的销毁 Bean的定义 Bean 是 Spring 装配的组件模型,一切实体类都可以配置成一个 Bean ,进而就可以在任何其他的 Bean 中使用,一个 Bean 也可以不是指定的实体类,这就是抽象 Bean 。 Bean的初始化 Spring中bean的初始化回调有两种方法 一种是在配置文
1,Set注入 2,构造注入 Set方法注入: 原理:通过类的setter方法完成依赖关系的设置 name属性的取值依setter方法名而定,要求这个类里面这个对应的属性必须有setter方法。 Set方法注入时spring中配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:
什么是spring? Spring是一个从实际项目开发经验中抽取的,可高度重用的应用框架。 Spring是一个轻量级容器,它所带的包装器使许多不同的服务和框架更易于使用。轻量级容器接受任何JavaBean,而不是只接受特定类型的组件。 spring框架结构组成 spring框架各个模块介绍 Spring Core:核心容器提供 Spring 框架的基本功能。核心容器的主要组件
第一种关联关系:一对多(多对一) "一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。 一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。 多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。 一对多关系在hbm文件中的配置信息: 消费者(一方): <?xml version="1.0" encodin
Hibernate实现了面向对象的方式进行数据库操作,是对JDBC进行轻量级封装的成果,方法是将POJO对象和数据库表建立关系。简单的来说,使用Hibernate之后,操作数据库就不需要像之前的JDBC那样进行复杂的操作了。 使用hibernate的好处是: 1、更加对象化,以对象化的思维操作数据库,我们只需要操作对象就可以了,开发更加对象化,符合Java面向对象的思想。2、移植性高,
大多数网站会设置用户权限,如过滤非法用户,用户不登录时不能进行访问,或者设置访问的权限,如部分内容仅对VIP开放等等,这些权限的控制都可以用struts2中的拦截器来实现。 下面通过一个简单的Demo来模拟这种用户权限控制的实现流程,设定三种不同身份的用户,commen为普通用户,VIP为会员用户,还有一种admin为管理员。 先看一下Demo的整体结构: 首先搭建struts2
拦截器是Struts2框架的核心和基础,Struts2绝大多数功能都是通过拦截器来完成的,当StrutsPrepareAndExecuteFilter拦截到用户请求后,大量拦截器会对该请求进行处理,然后才调用用户自定义的Action类中的方法进行处理请求,由此可见,拦截器是Struts2的核心所在。 Struts2框架内建了大量的拦截器,我们可以在struts-default.xml中进
首先,要了解Struts2框架中参数传递的大体流程: 服务器端的Web容器收到用户的请求(URL)——Struts2的核心控制器FilterDispatcher接受用户发起的请求,然后判断这个请求是交给action还是交给web组件来处理;如果请求的action或web组件不存在,就会报错404。在整个处理过程中,需要一个辅助对象: ActionMapper ,它会确定调用哪个Actio
概念:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。作用:Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象
Servlet分为三种:标准的Servlet----MVC中控制器 、过滤Servlet(过滤器)、监听Servlet(监听器)。 这篇博客将结合实例来讲解过滤Servlet(过滤器)。 Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过过滤器,开发人员可以实现用户在访问某个目标资源
NIO是为了弥补IO操作的不足而诞生的,NIO的一些新特性有:非阻塞I/O,选择器,缓冲以及管道。管道(Channel),缓冲(Buffer) ,选择器( Selector)是其主要特征。 概念解释: Channel——管道实际上就像传统IO中的流,到任何目的地(或来自任何地方)的所有数据都必须通过一个 Channel 对象。一个 Buffer 实质上是一个容器对象。 每一种基本
最近在学习APICloud这个移动应用开发平台,真心感觉很强大。对快速开发出跨平台的移动应用很有助益,大家感兴趣的可以了解一下。 APICloud 移动应用开发平台提供中国领先的“云端一体”的移动应用云服务,能够大幅降低移动APP开发和管理的难度,让APP开发工作量从1个月缩减为1周。APICloud“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个
在做图片上传时发现一个蛮好用的控件,支持多张图片同时上传,可以点击选择图片,也可以将图片拖拽到上传框直接上传,方便,好用,接口也简单,基本可以直接放到项目里使用。 先看看他的样式: 选择图片后: $(function(){ // 初始化插件 $("#demo").zyUpload({ width : "650px",
---- 在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多年从事ORACLE数据库管理,经常收 到周围用户和外地用户反映有关ORACLE数据库汉字显示问题的求援信,主要现象是把汉字显示为不可识别的乱码,造成原来大量信息无法使用。本文
工具:myeclipse ,数据库:Oracle ,jar包:classes12.jar 实现的功能:对客户的增删改查,展示客户列表,一页显示十条客户数据,实现分条件查询(根据ID,名称等) 这个小Demo用到了: 1,使用jsp+servlet,工厂模式,代理类 2,后端分页技术 3,ajax前后台交互 代码如下: /** *客户接口类 */ public inter
我们每次开发项目,都会有很多的关于字符串的处理,字符串的处理太常见了,无法避免,那么这时如果可以把常用的字符串处理封装成类,在以后的开发中应该会减少一些工作量,下面代码对一些常用的字符串处理进行了封装,如果遇上了其他的关于字符串处理可以不断加入进来。 现在已经实现的功能有: 1,判断一个字符串是否为 null 或 空串 或 空白, 2,判断一个字符串是否不是null且不是空串、不是空
Java经过将近20年的发展壮大,框架体系已经丰满俱全;从前端到后台到数据库,从智能终端到大数据都能看到Java的身影,个人感觉做后台进要求越来越高,越来越难。 为什么现在Java程序员越来越难做,一是Java框架体系众多,学习成本提高,每一个细分问题又有很多可选方案;二是经过移动互联网的洗礼,以前单机单线程那一套行不通了,现在面临的是高并发低延迟,你可能要掌握缓存、分布
这一篇博客将详细介绍一个基于Servlet的问答网站的实现,有详细的代码。 可能篇幅较长,以代码为主,有兴趣的童鞋看完可以尝试动手搭建一个属于自己的问答社区。 工具:Eclipse,数据库用到了MySQL,这次项目中未使用jsp,全部以Servlet注解的方式连接HTML和Servlet,JDK最好使用1.8,tomcat使用8.0。(注解方式为JDK1.5后的特性,最低要求1.5+,
ServletContext事件监听器---->针对applicationScope ServletContextListener(*) 对整个Web应用的装载和卸载进行监听。 ServletContextAttributeListener 对ServletContext中的信息存放、删除和替换进行监听。 ServletContext就是Servlet上下文监听,在we