自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CJNusun的博客

世界因互联网而不同,因你我而不同,生逢其时,一切才刚刚开始

  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 iframe使用记录

入坑最近在调试一个前段页面:网页内嵌html模板来动态生成数据直接div包装页面其实直接用div来包装模板页面也是可以的,而且操作简单。但是~~里面的图片格式用的是绝对定位。想到了两种解决方案:把图片改为相对定位,不影响原页面样式;使用iframe嵌套为子页面。iframe嵌套子页面更改图片元素属性感觉不好调,没有试验,直接用iframe嵌套了一个子页面,发现展示效果不错,然后...

2019-04-22 22:42:53 185

原创 git 提交操作规范

一、为什么需要规范?不按着规矩走,每个人都有自己的风格,那岂不是要天下大乱二、具体的规矩标准公式:():type: 用于说明commit的类别。feat:新功能remove:移除功能fix:修补bugdocs:文档信息style:格式,不改动代码refactor:重构,不影响代码的运行test:增加测试chore:构建过程或者辅助工具的变动scope: 用于说明c...

2019-03-14 11:37:10 172

原创 Effective Java Third Edition 中第七章lambdas和stream的介绍

Effective Java Third EditionLambdas and StreamsLambdas and Streams不知不觉Java的版本变更的越来越快了,距离Java8才过去了五年,Java11就已经发布成功,有些知识还没用熟就被淘汰了,所以一定要抓住发展的重点,找到自己的目标,才不会从这个坑里跳出来,又跳进另一个深坑。这里主要根据Joshua Bloch的Effective...

2018-10-19 16:40:31 257

原创 学无止境

学习的艺术跟踪变化迭代和增量式的学习。 了解最新行情。 参加本地的用户组活动。 参加研讨会。 如饥似渴地阅读 你不需要精通所有技术,但需要清楚知道行业的动向,从而规划你的项目和职业生涯学会分享经常和别人分享你的知识–好过你自己留着。开源社区为啥这么火热是有道理的。 不是所有的讲座都能引人入胜,有些甚至显得不合时宜。不管怎样,都要未雨绸缪;诺亚在建造方舟的时候,可...

2018-06-07 20:59:30 495

原创 thymeleaf 模板之select标签添加事件

<select name="日期查询" id="optionId" style="float: right;"> <option th:each="list,iterStat:${checks}" th:value="${list.id }" th:text="${#dates.format(list.date

2018-05-31 18:33:41 6773 2

原创 常用排序算法之非比较算法

这篇文章中我们来探讨一下常用的非比较排序算法:计数排序基数排序桶排序在一定的条件下,它们的时间复杂度可以达到O(n).1、计数排序(Counting Sort)基数排序用到一个额外的计数数组C,根据数组C来将原数组A中的元素排到正确的位置。 通俗的来讲,例如有10个年龄不同的人,假如统计出有8个人的年龄不比小明大(即小于等于小明的年龄,这里也包括小明),那么小明的年龄...

2018-05-18 10:36:42 385

转载 Java 实体-实体的映射框架

一、Object mapping 的技术分类:运行期 反射调用set/get 或者是直接对成员变量赋值 。 该方式通过invoke执行赋值 *,实现时一般会采用beanutil, Javassist等开源库。这类的代表:Dozer,ModelMaper编译期 动态生成set/get代码的class文件 ,在运行时直接调用该class文件。* 该方式实际上扔会存在set/get代码,只是不需...

2018-05-14 13:27:37 2948

原创 Java设计模式之观察者模式

1、观察者模式定义了一种一对多的依赖关系,让多个观察者对象区监听同样的主题对象。当这个主题对象状态改变时,会通知所有观察者。使他们自动更新自己的状态。 2、观察者模式主要分为两大接口,观察者接口和监听者接口。监听者就是观察的对象。监听者需要存储它所拥有的观察对象,然后当状态改变了区通知他所有的观察者。 3、然而在现实中,在项目中很难一开始就把某些对象当成观察者去实现观察者的抽象接口。这样当一个...

2018-05-14 13:07:22 93

原创 Java设计模式之建造者模式

1、建造的过程是稳定的,就像是有一个固定的流程。 2、建造的细节是不同的,因此这里面一定有抽象。 3、客户端不管你怎么实现,只要客户告诉你想吃鱼还是想吃鸡,你就直接给他什么。 4、为了复杂对象的构建与它的表示分离,使得同样的构建过程可以得到不同的结果。 5、具体代码有待进一步研究。我觉得比较像是模板模式结合策略模式。...

2018-05-04 15:18:25 84

原创 Java 开发模板总结

后天项目开发初期,我们需要定义每一层的结构。不管是那种开发模式,都会有大量类似且繁琐的东西,因此为了简化开发,就是使用各种开发工具包,下面做一个推荐,也是我在用的东西,做一个罗列、记录。 1、idea开发工具。 一款非常智能的编辑器,比起eclipse要方便的多,开始时用eclipse各种bug,(最可气的就是那种在别人电脑可以运行的,但是在自己电脑怎么都运行不了)。 2、spr...

2018-05-04 14:58:04 1194

原创 忽而今夏

“我只知道,要向前走,不管前面的路多么崎岖,都好过站在原地。我们不需要回到过去,即使你不是当初的样子,我也一样会爱上新的你。” 起风了,望着南行的雁,愿候鸟,带去所有思念。 http://www.kugou.com/song/mf4r8a7.html?frombaidu?frombaidu#hash=5304E4F333D9251C4FE744499D5666BB&album_id=0...

2018-04-27 19:55:54 200

原创 Java设计模式之门面模式

门面模式体现的Java主要的思想就是封装。把分开的子方法合并到一个主方法中,客户端调用时根本不需要了解里面都需要做什么,就如购物来说,你根本不知道你的货物是如何到的,只需要提示你来取走就行了。(好像现在物流的信息很详细啊)。反正就是把货物如何寄出,有没有检查等信息不暴露给你,你只需要收货验证就行了。下面做一个类图展示...

2018-04-17 17:01:49 176

原创 springboot 支持gzip压缩

springboot如果Web服务使用Spring Boot并且运行在Tomcat或者Jetty中,支持gzip压缩可以通过在application.properties中添加下面两条属性来实现。server.compression.enabled=true server.compression.mime-types=application/json这个属性样板打开了压缩选项,这...

2018-04-11 16:48:39 2922

原创 spring自带Jackson处理器忽略null

Spring Web使用Jackson来实现JSON的序列化我们假设我们请求属性名字是小写的带下划线字母,而不是驼峰命名法的情况。为了减少响应的大小,我们也要求不要包括为空的属性。 默认情况下,响应被格式化成下面这样:{ "status": "OK", "data": { "id": 1, "name":...

2018-04-11 16:08:37 4466

原创 数据转换对象设计模式

数据转换对象:是对应用各层之间专递信息的一个简单封装。这种模式在数据存储层和数据表现层之间提供了一个很好的抽象层。 这样对象的定义一般来说是没有业务逻辑的,只有各项数据简单的获取设置规则。在我们简单资源管理Web系统的情境下,作为例子,我们为Rooms声明一个DTO类。下面的代码片段展示了这个DTO类:public class RoomDTO implements Serializa...

2018-04-11 15:50:33 906

转载 跟着 Github 学习 Restful API 设计的一个疑问

转载注明出处:http://cizixs.com/2016/12/12/restful-api-design-guide?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io近几年提供 HTTP API 服务的公司越来越多,许多公司都把 API 作为产品重要的一部分,作为服务提供出去。而微服务的兴起,也让企业内部...

2018-04-11 09:18:43 414

原创 Java 持有对象-容器总结

Java提供了大量持有对象的方式:数组将数字与对象联系起来。它保存类型明确的对象,查询对象时,不需要对结果做类型转换。它可以是多维的,可以保存基本类型的数据。但是,数组一旦生成,其容量就不能改变。Collection保存单一的元素,而Map保存相关联的键值对。有了Java的泛型,你就可以指定容器中存放的对象类型,因此你就不会将错误的数据类型的对象放置到容器中,并且在从容器中获取元素时,不必...

2018-04-08 22:57:04 220

原创 spring的依赖注入小结

问题?今天做项目,要做service的层单元测试,用的是mockito做隔离测试,但是由于引入工厂调用静态方法,还有内部需要new对象(dao层仓储实现),原代码中没有用到依赖注入,全是new出来的对象。那当然需要powermock来做这个隔离测试了,但是如果只是调用静态或者new对象,还可以测试的通,如果两种方式都存在我怎么也没有测通。。。。然后就问了一下领导,结果boss说new出来的...

2018-04-08 21:21:47 161

原创 Java 设计模式之代理模式

代理模式:为其他对象提供一种代理以控制这个对象的访问。 代理模式根据用途来划分远程代理:也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。虚拟代理:是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。(浏览器加载图片)安全代理:用来控制真实对象访问时的权限。智能指引:当调用真实对象时,代理处理另外一些事。在Java中...

2018-03-20 15:54:38 92

原创 Java 程序设计之正则表达式

正则表达式 用于对文件或文本的检测。 基本常用正则表 字符 含义 说明 \ 转义字符 . 匹配任意字符 \d 表示数字 \D 表示非数字 \s 空白符 空格,tab,换行,换页和回车 \S 非空白符 ^ 匹配以什么开始 ()? 表示括号内...

2018-03-20 11:23:22 142

原创 编译原理之引言

语言处理器编译器: 简单来说,编译器就是一个程序,它可以将源程序转换为目标语言。 编译器的一个最重要的任务之一就是报告它翻译过来的源程序中的错误。 解释器: 解释器是另一种常见的语言处理器,它并不是翻译的方式生成目标程序。从用户角度来看,解释器是利用户提供的输入来执行源程序中指定的操作。 而Java语言处理器结合了编译和解释过程。Java程序首先被编译成一个称为字节码的中间表示形式...

2018-03-19 22:31:54 219

翻译 Java 程序模式之异常处理

异常处理: 代码不佳的代码不能运行特例RuntimeException 在Java程序中,Java提供了标准的运行时代码检测。就像传递给方法的每个引用都检查其是否为null,如果对null引用进行调用,Java会自动抛出NullPointerException异常,所以不必这样:if(t != null){ // 无谓的嵌套判断 t.toString();...

2018-03-19 15:14:00 361

原创 Java 设计模式之装饰者模式

装饰者模式: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更灵活(其实它也是子类,不过能动态改变它的核心功能)。UML图展示 上述模型也可以没有Component接口,然后装饰类直接继承要修饰的对象。// Java 代码示例 没有抽象类public class MySelf{ private String name; public My...

2018-03-16 16:48:25 125

转载 Java 设计模式之策略模式

前言:面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。策略模式: 它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用的用户。/** * 以商品打折为例,分别需要打六折,七折,还有满三百减一百活动 * 商场的促销返利都是通过算法实现的,我们把每种策略都封装成一个对象试一下...

2018-03-16 14:52:38 116

原创 Java 设计模式之工厂模式

简单工厂:interface IPeople{}public class Man implements IPeople{}public class Woman implements IPeople{}public class PeopleFactory1{ private IPeople p; public static IPeople createWoman(){...

2018-03-16 11:36:59 144 1

转载 Java 程序设计之接口

1. 嵌套接口2. 接口与工厂总结1. 嵌套接口接口可以放置在类或其它接口中。(与内部类相似) 接口嵌套接口,内部接口只能是public类型的 接口嵌套类 类嵌套接口 这些东西很少用到,只做记录2. 接口与工厂接口的设计使得方法和实现得以分离,这样的好处就是我们方法没变,却可以随意更改它的实现。如工厂模式总结确定接口是理想的选择,...

2018-03-14 12:25:36 766

原创 javascript介绍及如何在html中使用js与jQuery

js是世界上最流行的编程语言,这一点毋庸置疑;它是一种弱类型,动态脚本编程语言,被广泛用于HTML,web技术中。啰嗦:一直在学后端技术,现在发现js基本上不会用,因为现在不使用jsp做前端页面,所以到处都是js对静态页面的封装,然后实现前后端交互。现在发现js功能真强大啊,可以对页面各种修改,真是前端一个js技术就够了。其实当我看到一大堆js的页面时,脑子是懵的,完全不知道它该怎么执行,

2017-10-21 09:59:39 3724

转载 spring-data-redis与JedisPool的区别、使用ShardedJedisPool与spring集成的实现及一致性哈希分析

一、Redis与spring的整合一般分为spring-data-redis整合和JedisPool整合,先看看两者的区别1)、引用的依赖不同:spring-data-redis使用的依赖如下: dependency> groupId>org.springframework.datagroupId> artifactId>sprin

2017-10-14 23:01:10 973

转载 shiro实现不同身份使用不同Realm进行验证

假设现在有这样一种需求:存在两张表user和admin,分别记录普通用户和管理员的信息。并且现在要实现普通用户和管理员的分开登录,即需要两个Realm——UserRealm和AdminRealm,分别处理普通用户和管理员的验证功能。   但是正常情况下,当定义了两个Realm,无论是普通用户登录,还是管理员登录,都会由这两个Realm共同处理。这是因为,当配置了多个Realm时,我们通常使用的

2017-10-13 17:36:41 336

原创 一点总结

不管对于MyBatis还是Hibernate框架,我们通常使用Map来去除我们输出对象中没有查询的到的空值;在输出的Map的时候可以用对象接收,属性要和key相对应,但是我们不能遍历在后台不能使用这些值,因为一使用就会报Map不能强转为对像的异常,所以我们获取的值如果需要被使用,那就用Map接收,然后再转化为对象,这里我在网上找的有转换对象的方法工具类http://blog.csdn.net/q3

2017-09-21 17:54:03 139

原创 hibernate映射关系

就是配置表关联:这里我们主要总结一下各种关系的配置,做一下记录;     表之间的关联结构有以下七种映射关联关系:     1、单向一对一关联映射(one-to-one) :一对一就是把写在一张表的字段分开了,但是这些信息在别的表也需要,就可以分开来写,不然每个表都要添加相应的字段,只需要一个额外唯一外键关联即可(一张表尽量不要写的字段太多)。     配置主键关联:就是表不添加额

2017-09-16 19:01:27 173

原创 spring+Hibernate openSession()和getCurrentSession()

最近比较烦躁,学过Mybatis又来学Hibernate,总觉得Hibernate太麻烦,(其实也挺简单的,先入为主了),由于没怎么看过源代码,都是通过网友总结加上自己的实验得出来的一些结论,做一个笔记。 实验一:单独使用Hibernate框架 1、openSession()在不开启事务的情况下执行操作: 结果:可以查询出结果,更删改查也可以执行成功,但是数据库的数据不变。 2、g

2017-09-16 11:04:22 405

转载 今天配虚拟机想配置一下域名使用,然后就要配置DNS,很详细了解了一下

转载注明出处:http://blog.csdn.net/limanjihe/article/details/522082621、DNS 概述1.1、DNS的出现及演化    网络出现的早期是使用IP地址通讯的,那时就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承

2017-09-01 23:02:28 12099 1

原创 学习总结:

学习东西最重要的不是过程,而是你学习的出发点。 对于任何问题我们都要做到:是什么,为什么,怎么做,结果怎样。我们一层一层的去剥开问题的结构,这样能更快的得到我们想要的结果。 那么既然谈到学习了,就要先说一下学习是什么?为什么要学东西?怎么去学习?学习后有何用? 1、学习是什么: 这个问题似乎比较傻了,百度一下给出的解释是:学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识或技能

2017-08-19 16:37:02 4469

原创 spring 注入详解

刚刚接触spring 最近一直不懂注入是什么,看到好多篇文章,现在总结一下spring的IOC 首先什么是IOC,学名叫控制反转,但是由于不好理解字面意思,后来又叫依赖注入。 依赖注入是什么呢,这个一看名字就知道了,需要依赖别人才能实现自己的需求,而在spring中,我们可以设置很多Bean实例,在java中我们不用自己创建对象就能自己获取自己的实例,当然默认情况下都是单例模式。是不是很神奇,那

2017-08-12 15:27:50 388

原创 数据库事务处理

今天要讲的是mysql数据库的事务处理:     菜鸟新手一枚,先来事务的定义:在mysql中只有使用了Innodb数据库引擎的数据库或表才支持事务;事务处理可以用来维护数据库的完整性,保证成批的sql语句要么全部执行,要么全部不执行;事务用来管理insert,update,delete语句。一般来说事务必须满足四个条件,也叫作事务的四大特性(ACID):原子性(A

2017-07-20 19:19:09 535

原创 Java访问修饰符

有了包的概念之后,下面就可以开始为读者讲解JAVA语言之中的访问控制权限的概念了。在JAVA中有四种访问控制权限,分别为:private、default、protected、public。1、private访问控制符在前面已经介绍了private访问控制符的作用,如果一个成员方法或成员变量名前使用了private访问控制符,那么这个成员只能在这个类的内部使用。注意:     不能在

2017-07-14 21:02:50 173

原创 Java数据类型和操作

1.基本数据类型:     1.1.byte :一个字节 //每8个bit位组成一个字节     1.2.char : 'a' 二个字节     1.3.short: 二个字节     1.4.int: 四个字节     1.5.long: 八个字节 赋值时要在值后面加上L  表示long ,不然会默认int     1.6.float: 四个字节 赋值时要在值后面加上F

2017-07-14 09:53:57 235

原创 JDK安装

一,JDK安装分为一下三个步骤:1.下载JDK安装包,并安装到指定目录下,方便查找和管理;2.环境变量配置:     2.1.右键打开电脑属性,点击高级属性设置,打开环境变量;     2.2.配置三个属性  1. JAVA_HOME = "JDK安装路径" 2. Path = %JAVA_HOME%\bin 3. classpath = .;%JAVA_HOME%\lib3.

2017-07-12 21:40:27 210

linux-redis

redis缓存linux搭建,内有安装介绍,同志们没有积分了

2017-09-28

空空如也

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

TA关注的人

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