自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (3)
  • 收藏
  • 关注

原创 5.spring_注解

1. spring注解整理1.创建当前对象交给IOC容器@Component(value="id")@Controller(value="id")@Service(value="id")@Repositoty(value="id")注意:不写value,默认为id=当前对象类型,首字母小写1.1 事务控制:@Transactional 2.属性依赖注入@Autowired 按...

2019-04-13 20:52:51 185

原创 4.Spring_Jdbctemplate

1. 浅谈JdbcTemplate0.JdbcTemplate是一个用来操作数据库的spring子框架,是对JDBC的封装,实现增删改查,没有缓存机制。相对于 Mybatis来说,适用于小项目的开发。 JdbcTemplate交给spring容器管理,需要依赖于连接池。1.spring提供的几种简单框架 操作关系型数据库使用-->Jdbctemplate 操作非关...

2019-04-13 20:41:23 295

原创 3.Spring_申明式事务

1.声明式事务申明式事务,底层采用的是AOP,动态代理技术支持事务。AOP中,Spring唯一可以提供的动态代理技术支持,就是代码固定的事务管理,spring提供切面类。被增强类为业务层代码,增删改必须实现事务支持。2.基于全XML方式__spring配置文件1.创建spring提供的切面类bean,DataSourceTransactionManager,交给IOC容器管理。 ...

2019-04-13 19:15:25 269

原创 2.spring与AOP

1. AOP1. AOP概念:面向切面编程。底层通过封装动态代理技术实现。2.动态代理:在不修改源码的情况下,实现了方法的增强。3.使用AOP技术,关注2点: 1).手动创建增强方法; 2).通过配置文件,告诉spring在哪些方法上使用增强方法。1.1 动态代理AOP面向切面编程的底层实现,AOP封装两种动态代理:(1) proxy的动态代理(基于接口,jdk提供) Acc...

2019-04-13 19:09:15 278

原创 1.spring与IOC容器

1. 什么是springSpring 是一个轻量级开源框架,简化了企业级应用开发。Spring 的核心是 IOC 和 AOP。spring 提供了展示层springMVC、持久层spring jdbc、业务层事务控制、spring单元测试的开发技术。spring 可以整合第三方框架和类库。Spring 可以使用简单的 JavaBean 实现以前只有 EJB 才能实现的功能。目前开发中...

2019-04-13 19:01:59 420

原创 java 操作excel 的 POI技术

1.POI导入1.首先从页面获取文件(strust2框架)//定义一个File属性接收导入的xsl文件private File regionFile;public void setRegionFile(File regionFile) { this.regionFile = regionFile; }&n...

2019-04-03 22:57:43 265

原创 volatile与synchronized的可见性与原子性

1. Java内存模型(Java Memory Model, JMM)Java的内存模型如下,所有变量都存储在主内存中,每个线程都有自己的工作内存。共享变量:如果一个变量在多个线程中都使用到了,那么这个变量就是这几个线程的共享变量。可见性:一个线程对共享变量的修改,能够及时地到主内存并且让其...

2019-04-03 16:50:05 298 1

转载 REST风格的请求方式

  一、 在HTTP 协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。     ·它们分别对应四种基本操作:          1、GET  ====== 获 取资源      2、POST ======新建资源      3、PUT=======  更新资源      4、...

2019-03-14 18:41:16 1112

转载 Redis缓存击穿,穿透,雪崩

缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足...

2019-03-13 20:50:36 241

原创 redis常用数据结构

Redis是一个开源的Key-Value存储引擎,它支持string、hash、list、set和sorted set等多种值类型。由于其卓越的性能表现、丰富的数据类型及稳定性,广泛用于各种需要k/v存储的场景。甚至在一些分布式缓存系统中,也用它作为底层存储引擎。本文对redis最常用的数据类型进行剖析,从而让使用者在各自场景下选择合适的数据类型,从而发挥其最好的优势。1、StringStri...

2019-03-11 19:28:03 189 1

原创 Dubbo技术背景

从2012年10月23日Dubbo 2.5.3发布后,在Dubbo开源将满一周年之际,阿里基本停止了对Dubbo的主要升级。只在之后的2013年和2014年更新过2次对Dubbo 2.4的维护版本,然后停止了所有维护工作。Dubbo对Srping的支持也停留在了Spring 2.5.6版本上。分支出现在阿里停止维护和升级Dubbo期间,当当网开始维护自己的Dubbo分支版本Dubbox,支持了...

2019-03-09 21:10:34 133

原创 Java基础-String 存储机制管理

最近发现有些小伙伴搞不清楚String内存机制,简单总结了一下,希望也能帮助你。JVM运行的时候,将内存分为两个部分,一部分是堆,一部分是栈。堆中存放的是创建对象,而栈中存放的则是方法调用过程中的局部变量或引用。在设计JAVA字符串对象内存实现的时候,在堆中又开辟了一块很小的内存,称之为字符串常量池,专门用来存放特定的字符串对象的。例如:复制代码String s1=“JavaSE6.0”;...

2019-03-09 09:45:14 139

转载 Java中关于 方法区、永久代、元空间、常量池

1.JVM内存模型简介堆——堆是所有线程共享的,主要用来存储对象。其中,堆可分为:年轻代和老年代两块区域。使用NewRatio参数来设定比例。对于年轻代,一个Eden区和两个Suvivor区,使用参数SuvivorRatio来设定大小; Java虚拟机栈/本地方法栈——线程私有的,主要存放局部变量表,操作数栈,动态链接和方法出口等; 程序计数器——同样是线程私有的,记录当前线程的行号指示器,...

2019-03-08 18:19:33 564

转载 基于JDK1.8的 运行时常量池、字符串常量池、类文件中常量池

Java中的常量池分为三种类型:类文件中常量池(The Constant Pool) 运行时常量池(The Run-Time Constant Pool) String常量池 类文件中常量池 ---- 存在于Class文件中所处区域:堆诞生时间:编译时内容概要:符号引用和字面量class常量池是在编译的时候每个class都有的,在编译阶段,存放的是常量的符号引用。常量...

2019-03-08 18:12:15 709

转载 线程join方法详细探索

虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博客给的例子看起来都像是t.join()方法会使所有线程都暂停并等待t的执行完毕。当然,这也是因为我对多线程中的各种方法和同步的概念...

2019-03-04 16:50:30 107

原创 线程池中submit方法与execute方法的区别

1.如果需要返回结果的线程调用,使用submit方法,获取Future对象,调用get()获取返回值。2.如果不需要返回值,直接使用execute方法,效率高执行快。

2019-03-04 16:12:36 1108

转载 如何控制某个方法允许并发访问线程的个数?

Semaphore两个重要的方法就是semaphore.acquire() 请求一个信号量,这时候的信号量个数-1(一旦没有可使用的信号量,也即信号量个数变为负数时,再次请求的时候就会阻塞,直到其他线程释放了信号量)semaphore.release() 释放一个信号量,此时信号量个数+1public class SemaphoreTest { private Semaphore m...

2019-03-03 21:24:10 297

转载 java高级应用:线程池全面解析

转载自 java高级应用:线程池全面解析什么是线程池?很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。线程池的好处我们知道不用线程池的话,每个线程都要通过new Thread(xxRunnable).start()的方式来创建并运行一个线...

2019-03-03 18:01:06 207

转载 多态的实现技术

什么是多态?1.继承体现了多态,JAVA里没有多继承,一个类之能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不一样了,这...

2019-03-02 20:14:52 471

转载 JDK8 的新特性

本文主要介绍了JDK1.8版本中的一些新特性,乃作者视频观后笔记,仅供参考。jdk1.8新特性知识点:Lambda表达式函数式接口*方法引用和构造器调用Stream API接口中的默认方法和静态方法新时间日期API 在jdk1.8中对hashMap等map集合的数据结构优化。hashMap数据结构的优化 原来的hashMap采用的数据结构是哈希...

2019-03-01 22:43:02 257

原创 thread的run()和thread的start()的区别

java的线程是通过java.lang.Thread类来实现的。VM启动时会有一个由主方法所定义的线程。可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。通过调用Thread类的start()方法来启动一个线程。在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。  第一是创建状...

2019-02-28 21:57:32 494

转载 深入理解建造者模式

深入理解建造者模式 ——组装复杂的实例 历史文章回顾:设计模式专栏深入理解单例模式深入理解工厂模式历史优质文章推荐:分布式系统的经典基础理论可能是最漂亮的Spring事务管理详解面试中关于Java虚拟机(jvm)的问题看这篇就够了无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向...

2019-02-27 22:11:04 174

转载 建造者模式

https://blog.csdn.net/u010102390/article/details/80179754 </div> <link rel="stylesheet" href="https://csdnimg.c

2019-02-27 16:46:25 84

转载 java8中,逻辑与 & 符号用在接口类上代表什么意思

最近在读lambda表达式相关的java源码,在Comparator的静态方法里发现有不少这种类似的写法java.util.Comparator…public static Comparator comparingInt(ToIntFunction<? super T> keyExtractor) {Objects.requireNonNull(keyExtractor);...

2018-10-18 00:18:35 585

转载 JAVA面试基础篇

因为最近在忙着找工作,看到了很多面试整理的文章,于是便有了自己也写一篇,部分原创,大部分是我四处搜集的,我想整理一份最全最新的文章,方便大家总结!废话不多说,开始!12一、JAVA基础篇-概念1.简述你所知道的Linux:Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主...

2018-08-07 16:28:31 93

转载 Java程序员跟大家谈谈从业心得

貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时,才会真实的感受到这句话。工作第一年,往往是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行业知识更新特别快,今天一个框架的新版本,明天又是另一个新框架,有时往往根据项目的需要来不断学习新东西;所有,很多时候感觉,自己用过的东西真多呀!但是真正深入研究的东西却不多。面试,是跳槽后第一个需要面对的问题...

2018-08-01 16:47:47 206

转载 sqlServer 总结

个人工作遇到知识点Convert()函数转化时间格式select convert(varchar(100),FDate,102) '会计日期',FDate '日期' from ICStockBill;转化数字到字符串select convert(varchar(20),g.fnumber) '凭证内码' from t_Voucher g;拼接字符串select ...

2018-07-31 15:11:04 1241

原创 存储过程之 台账报表(参考SQL)

USE [AIS20160101004121]GO/****** Object:  StoredProcedure [dbo].[StandingBook]    Script Date: 2018/7/26 20:48:38 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO/**********************...

2018-07-26 20:49:48 1066

转载 POI格式化Cell样式

摘要java中利用Apache的POI来格式化Cell的样式,包括居中,加粗,自动换行,或者是合并单元格和边框设置package my.excel;     import java.io.FileOutputStream;     import org.apache.poi.ss.usermodel.Cell;   import org.apache.poi.ss.usermod...

2018-07-24 21:08:01 2145

原创 mybatis XML文件中大于号小于号转义

因为这个是xml文件不允许出现类似“>”这样的字符用了转义字符把>和<替换掉,然后就没有问题了。XML转义字符字段符号说明&lt ;<小于号&gt ;>大于号&amp ;&和&apos ;'单引号&quot ;"双引号...

2018-07-16 13:49:08 10601 1

原创 Mybitis

mybits 中不能用小于号,需要用转译字符。大于号可以用。

2018-07-11 16:49:58 134

原创 Spring MVC:The request sent by the client was syntactically incorrect ()

springmvc数据绑定是一个很好的东西,在数据绑定的时候一定要主意Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写,如果不一致,可能会报如下错误: The request sent by the client was syntactically incorrect ().实际就是springmvc无法实现数据绑定。 随便举个例子说明:  public S...

2018-07-10 20:08:29 96

原创 oracle 错误提示乱码

如果数据库配置的AMERICAN_AMERICA.AL32UTF8,客户端配置成SIMPLIFIED CHINESE_CHINA.AL32UTF8,就会出现乱码问题 注册表设置: 环境变量:可以完美解决问题。

2018-07-06 17:46:03 4496 3

原创 oracle中的timestamp字段的值乱码问题修改

在登录PLSQL之后,查询相应数据库数据时,发现PLSQL的timestamp显示乱码,如下图所示。查询数据库服务器端字符集编码,使用如下命令: select userenv(‘language‘) from dual    结果如下:SIMPLIFIED CHINESE_CHINA.AL32UTF8 在环境变量中设置NLS_LANG = ‘SIMPLIFIED CHINESE_CHINA.AL3...

2018-07-06 11:55:05 1485

原创 Myeclipse 快捷键

Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。    0.【ALT+SHIFT +A】    此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。   1.【ALT+/】    此快捷键为用户编辑的好帮手...

2018-07-06 10:41:01 92

转载 Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名

查询所有表名: select t.table_name from user_tables t; 查询所有字段名: select t.column_name from user_col_comments t; 查询指定表的所有字段名: select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB'; 查...

2018-07-06 10:09:05 1475

转载 MyEclipse的jsp页面preview显示问题

开发工具MyEclipsejsp文件preview显示问题:一个jsp页面在myeclipse左下角有这三个选项(如果没有请参看https://zhidao.baidu.com/question/561075964.html),但是有时如果jsp编写有不合理的地方,会出现点击Preview没法显示的问题。这里提供一种解决办法。在jsp页面的<head>标签体内加入<meta ht...

2018-07-05 22:43:37 1110

转载 mybatis 中 foreach collection的三种用法

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分...

2018-07-04 22:10:34 97

原创 oracle 总结

Sql语言文档说明每一条的记录,绿色代表的是总结,熟练后记录它就可以,通过它回忆知识点。敲代码习惯经验先敲上表,这样敲字段的时候会有提示会比较快如下:select from emp where ;层次查询、外链接、子查询top-n问题,关联子查询、from后边子查询有啥意义、数据泵、Sql优化--Oracle是自动开启事务--SQL 优化 2.  where解析顺序:右--》左--SQL 优化 4...

2018-07-04 15:26:01 571

转载 java 总结

1、servlet执行流程客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。2、s...

2018-06-22 21:32:06 98

java开发基础笔记

java开发基础笔记,第一章。非常全面的总结,技术性文章。

2017-10-18

java面试资料

java面试资料大全,多年总结,经验之谈,非常的全面,不要犹豫,赶快下手

2017-10-18

java面试资料整理

java开发的面试资料整理,经验值非常高,希望能帮助你

2017-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除