自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ashes

做一个快乐的逗比,像蘑菇一样环境越是不好就越是顽强······

  • 博客(53)
  • 收藏
  • 关注

原创 【无标题】

jar、war该如何选择

2023-03-18 13:12:25 123 1

原创 踩坑记录----BigDecimal

支付开发踩坑记录----BigDecimal一、背景二、坑点记录三、小记重点一、背景 数据使用时为了防止精度丢失,所以选择了BigDecimal。二、坑点记录初始化,BigDecimal初始化可以使用如下两种方式避免精度大坑:BigDecimal aa = BigDecimal.valuOf(1.1);BigDecimal bb = new BigDecimal("2.2");比较, BigDecimal的比较一定推荐CompareTo,不要使用equals,因为但凡精度不同都会影响

2020-12-15 22:24:45 622

原创 模板模式学习整理

1、模板模式概述(定义一个操作中的算法的框架,而将一些步骤延迟到子类中,是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤)理解:模板模式灵活使用Java的继承机制,抽象模板一般由基本方法和模板方法,基本方法定义出口让子类实现,完成扩展功能,而模板方法(共性封装)则是对基本方法的调用,用于完成固定逻辑,一般会加final关键字。父类建立框架,子类在重写了父类部分的方法后,再调用...

2019-11-18 00:06:40 267

原创 由Set和List组合检验重复问题引发的思考以及验证

1、如何利用set、list做检查重复的功能代码展示 public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("A&quot

2018-08-11 16:07:42 392

原创 iframe有哪些缺点及解决方法

1、iframe有哪些缺点 1、搜索引擎的检索程序无法解读这种页面,不利于SEO(搜索引擎优化) 2、iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。2、解决方法 如果使用iframe,最好通过JavaScript动态的给iframe添加src属性值,这样可以绕过以上两个问题。<!DOCTYPE html&gt...

2018-04-08 23:37:54 1905

原创 Struts2+spring+mybatis导入freemarker后样式丢失

1、freemarker导入SSM项目后样式丢失原因<!-- 配置 Struts2 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.St...

2018-04-02 14:34:33 586

原创 Idea导入eclipse项目步骤等小结

1、Idea导入eclipse项目完整步骤2、Idea开启自动编译3、Idea每次修改完后要重启Tomcat问题

2018-03-31 00:11:14 316

原创 初步接触Freemarker

初步接触Freemarker1、Freemarker是什么2、了解Freemarker 1、Freemarker需要一个模板和一个数据模型来生成输出:模板+数据模型=输出 2、${…}:Freemarker将在输出中用大括号内表达式的实际值替换它。——-插值 3、指令用#开头 4、模板是用FTL语言(用于Freemarker模板语言),FTL区分大小写...

2018-03-28 16:26:28 366

原创 Ajax及HTTP状态值

一、Ajax是什么,工作原理 1、Ajax(Asynchronous JavaScript And XML——-异步的 JavaScript 和 XML) 2、通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。工作原理二、XMLHttpRequest对象 Ajax的核心是X...

2018-03-22 10:10:39 826

原创 保留学习链接

1、Java相关 1、logback下载 2、spring下载 3、mybatis的文档 4、WebGL学习网站Three.js 5、mvnrepository(可以查看jar) 6、MAT(分析内存)2、前端相关a 、UI 1、bootstrap在线编辑 2、semantic–UI拖拽工具b、Three.js ...

2018-03-21 20:20:46 320 1

原创 学习Redis初步

学习Redis初步1、Redis安装配置 a、下载地址: Redis下载 b、在文件夹保存位置,打开一个cmd窗口, 使用cd命令切换目录到 I:\Software\Redis-x64-3.2.100 运行 redis-server.exe redis.windows.conf c、另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。 运行redi...

2018-03-21 17:37:30 260

原创 代理模式(动态代理底层实现探索)

一、动态代理代理类在程序运行时创建的代理方式被称为动态代理。      一般有两种实现的方式:jdk实现特点:由java内部的反射机制来实现(反射机制生成类比较高效)cglib实现特点:借助asm实现(asm在生成类之后的相关执行过程较高效)二、jdk实现示例动态代理就是根据被代理的接口生成所有的方法,也就是说1、先定义被代理的接口public interf

2017-09-30 11:06:46 560

原创 java的深浅拷贝与绕过构造函数获取对象的神奇之旅

一、产生一个对象一定要执行构造函数吗?当然不是!!!!     1、通过new产生一个对象(1)先看new操作符后的类型,知道类型,分配相应大小的内存空间(2)再调用构造函数,填充对象的各个域(对象初始化)(3)构造函数执行后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部可以使用这个引用操作操纵这个对象     2、反射-------请移步查看类加载机制以及J

2017-09-28 10:05:35 520

原创 Insecure Randomness引发对随机数生成器抵挡加密攻击的方法

一、由nextInt()实施的随机数生成器不能抵挡加密攻击1、不安全的随机数:电脑是一种具有确定性的机器,因此不可能产生真正的随机性。伪随机数生成器 (PRNG) 近似于随机算法,始于一个能计算后续数值的种子。2、PRNG 包括两种类型:统计学的 PRNG 和密码学的 PRNG。统计学的 PRNG 可提供有用的统计资料,但其输出结果很容易预测,因此数据流容易复制。若

2017-09-26 12:32:51 4206

原创 观察者模式(发布订阅模式)

1. 观察者模式定义 定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。(Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notifited and updated auto

2017-09-20 19:49:31 330

原创 SpringBoot初体验

一、 使用IntelliJ Idea创建springboot创建springboot项目,选择需要的JDK版本 需要填写http://start.spring.io填写项目名,选择项目构件方式,打包方式等信息3.勾选web 4.选择保存路径5.得到如图格式,就算是搭建成功了

2017-08-01 22:28:10 309

原创 Java三大特性之封装继承多态

一、 封装封装是什么? 访问权限的控制常常被称为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同被称为“封装”。 通常人们也单独只将具体实现的隐藏称为封装隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别(POJO) (我只给你看我希望你看到的东西,不该给你的东西你不需要知道)为什么封装? 封装的意义在于,这一点并不重要,重要的是类对外提

2017-06-29 23:51:38 778 1

原创 代理模式(实现静态代理)

1、代理模式是什么代理模式(Proxy Pattern)是一个使用率非常高的模式,其定义如下: Provide a surrogate or placeholder for another object to control access to it. (为其他对象提供一种代理以控制对这个对象的访问。)2、代理模式的三类角色<1> 抽象主题角色: 通过接口或者抽象类定义真实角色的业务方法

2017-06-23 10:44:22 569

原创 基于Mapper代理配置的Mybatis多表查询一对多

基于Mapper代理配置的Mybatis多表查询一对多映射注意:这里我们在mybatis总配置里设置包扫描一、使用内连接1、编写Mapper接口,记住Mapper代理规范 (List*)    2、编写Mapper.xml文件,通过接口方法名找到对应id的select,再通过select的resultMap找到id为rm的resultMap查

2017-06-16 21:12:48 1251

原创 基于Mapper代理配置的Mybatis多表查询一对一的三种方式

基于Mapper代理配置Mybatis多表查询的一对一映射(三种方式)一、mybatis多表联查使用内连接1、两表联查中一对一关系对于POJO的体现(截图忽略了get,set方法)   2、编写对应的PaperMapper接口和在同目录下创建对应sql映射文件PaperMapper.xml注意:这里我们在mybatis总配置里设置包扫描(批量加载mapp

2017-06-16 12:18:52 5279

原创 工厂模式

一、工厂 模式定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类(Define an interface for creating an object, but let subclasses decide which class to instantiate,Factory Method lets a  class defer instanti

2017-06-05 15:16:37 365

原创 由equals方法和==引发的思考和验证

一、首先,我们应该了解创建字符串是直接使用双引号还是String构造函数1、使用双引号a == b 等于true是因为x和y指向方法区中同一个字符串常量,他们的引用时一样的(==比较的是引用)当相同的字符串常量被多次创建时,只会保存字符串常量的一份副本,这称为“字符串驻留”。在java中,所有编译时字符串常量都是 驻留 的关系操作符生成的是一个boolean结果,它

2017-06-04 16:00:52 488

原创 适配器模式

适配器模式(Adapter Pattern)Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.(将一个类的接

2017-05-31 10:26:56 308

原创 Mybatis和Spring整合mapper代理

关于整合环境已经在原始dao开发中详细说明了,这里不再赘述一、准备UserMapper接口及其映射文件二、在applicationContext.cml配置2.1、配置方式一:通过MapperFactoryBean创建代理对象  配置方式一测试:配置方式二:通过MapperScannerConfigurer进行mapper扫描(建议使用)测试

2017-05-22 12:03:00 479

原创 Mybatis和Spring整合(原始Dao)非mapper代理

mybatis和spring的整合包:早期ibatis和spring整合是由spring官方提供,mybatis和spring整合由mybatis提供。

2017-05-22 12:00:16 640

原创 跟踪springmvc请求

一、我们先来看看搜狗百科给出的图示根据分析,我们了解到它工作的细节二、分析1、前端控制器接受请求2、前端控制器调用处理器映射器查找Handler3、调用处理器适配器执行Handler,得到执行结果ModelAndView4、视图渲染,将model数据填充到request域在doDispatch方

2017-05-21 16:07:30 444

原创 springmvc注解的处理器映射器和适配器

1、扫盲常识在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器。 在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMapp

2017-05-21 13:54:22 553

原创 springmvc非注解的处理器映射器和适配器

1、 非注解的处理器映射器处理器映射可以把web请求映射到正确的处理器(Handler)上将收到的HTTP请求映射到bean的名字上使用标签为Java持久属性集注入值2、非注解的处理器适配器适配器按照一定的规则执行Handler3、访问测试http://localhost:8080/SpringmvcF

2017-05-21 12:47:25 513

原创 springmvc简单配置及测试

springmvc框架的简单介绍1、首先我们需要建立一个web项目,并导入spring3.2.0的jar包2、展示一下我们的框架结构3、在WEB-INF\web.xml中配置前端控制器load-on-startup:表示servlet随服务启动;url-pattern:*.action的请交给DispatcherServl

2017-05-21 11:00:53 540

原创 基于Threejs的360全景图预览

首先,我们先来了解一下Photo Sphere Viewer,它是一款基于Three.js的360X180度全景图预览js插件。该js插件可以360度旋转查看全景图,也可以上下180度查看图片。使用该插件的唯一要求是浏览器支持canvas或WebGL。1、使用该全景图插件时要引入three.min.js和photo-sphere-viewer.min.js文件。下载Three

2017-05-12 01:20:07 8671 2

原创 HTTP报文格式

HTTP报文:用于HTTP协议交互的信息请求报文:请求端(客户端)的HTTP报文(请求访问文本或图像等资源的一端称为客户端)响应报文:响应端(服务器端)的报文(提供资源响应的一端称为服务器端)Http协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息,使用首部字段是为了给浏览器和服务器提供报文主体大小,所使用的语言、认证信息等内容。

2017-05-05 10:15:21 571

原创 抽象类、接口(包括Java8新特性)

一、抽象类:1、包含一个或多个抽象方法的类本身必须被声明成抽象的。2、除了抽象方法之外,抽象类还可以包含具体数据和具体方法3、扩展抽象类的两种选择(抽象方法的具体实现在子类中):       A、 抽象类中定义部分抽象类或不定义抽象类方法,这样就必须将子类也标记为抽象类。       B、定义全部的抽象方法,这样子类就不是抽象的了   4、不能直接被实例化,可以间接使用

2017-05-01 21:21:53 1435

原创 JDK、JRE和JVM的关系

1、JDK(Java Development Kit)   JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。  JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。  JDK是整

2017-04-28 10:00:59 624

原创 单例模式

一、单例模式特点:1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例类必须给所有其他对象提供这一实例。二、单例模式目的:得到一个类只可创建一个对象(并提供一个访问它的全局访问点)三、单例模式应用场景配置文件、网络令牌,Mybatis中创建sqlSession三、单例模式的实现(如下代码):1、构造函数私有化,不允许外部直接创建对

2017-04-27 11:22:22 396

原创 Mybatis框架Mapper代理配置的两种方式

一、创建Java工程,建立lib包,导入jar包二、创建POJO(POJO类作为mybatis进行sql映射使用,POJO类通常与数据库表对应)三、在classpath(src)下创建、配置SqlMapConfig.xml和log4j.properties(SqlMapConfig.xml是mybatis核心配置文件,上边

2017-04-26 21:08:01 3884

原创 Mybatis非mapper代理配置

一、创建Java工程,建立lib包,导入jar包二、创建POJO(POJO类作为mybatis进行sql映射使用,POJO类通常与数据库表对应)三、在classpath(src)下创建、配置SqlMapConfig.xml和log4j.properties(SqlMapConfig.xml是mybatis核心配置文件,上边

2017-04-26 20:13:48 1284

原创 JSP的九大内置对象

JSP的九大内置对象什么是内置对象?内置对象在编译时无需实例化即可使用JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception1、request对象request 对象是 javax.servlet.httpServletRe

2017-04-26 07:56:36 513

原创 session_VS_Cookie

Session-VS-Cookie(会话管理)一、会话:浏览器和服务器交互的一次过程,会话内容可以保存在服务端(内存),也可以保存在客户端(磁盘)会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。二、Sessio

2017-04-26 00:39:23 381

原创 在eclipse中用Maven搭建Web项目

在eclipse中用Maven搭建Web项目1、new一个Maven Project 2、如下选项勾选,我们不适用骨架3、next后填写项目基本信息,web项目选择war包4、我们的项目雏形已经出来了5、请右键选择 Properties或者Alt+Enter(以下选项需要根据项目要求做更改)6、Dynamic

2017-04-23 11:14:18 509

原创 Maven管理项目的时候 Update Project后jre变成1.5

用maven建完web项目后,由于jre的版本和Tomcat的版本是有要求的,所以有很多朋友常常出现下列问题:1、这里,我明明设置了我的JRE是1.8了2、然而,当我 Update Project后........不仅如此,更尴尬的是出现了一下问题主要原因是每次Update时,它就会使用settings文件下的默认值。(原来这是maven自己

2017-04-23 10:32:07 6620 3

空空如也

空空如也

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

TA关注的人

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