自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小书包的博客

欢迎大家来到我的博客

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

转载 Emmet使用教程

选择器>子类选择器div>ul>li<div> <ul> <li></li> </ul></div>+兄弟选择器div+p+bq<div></div><p></p><blockquote>&lt...

2020-01-10 21:11:33 186

原创 JS之点击按钮改变背景颜色

JS之点击按钮改变背景颜色.md<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>改变颜色</title></head><body> <input type="button" value="点击切...

2020-01-09 14:11:38 10668

原创 JS之隔行变色

JS之隔行变色<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>隔行变色</title></head><style> * { margin: 0px; padding: 0px; } di...

2020-01-09 14:08:10 862

原创 Java打印当前所在月份的日历

public void monthTest() { //获得当前系统时间 LocalDate now = LocalDate.now(); String separator = "\t"; String lineSeparator = "\n"; StringBuilder builder = new StringBuilder(); builder.append("当前...

2019-04-10 18:16:35 1351 1

原创 jdk9更新内容介绍

1. JDK9更新JDK9重磅增加了以下功能:模块化,可以将代码进行模块化的组装,需要用到什么模块再引用什么模块.减少了不必要的内存消耗和浪费.JShell,添加了和其他的语言(比如Python)一样的交互式命令行页面,再也不必为了打印一段&quot;Hello,World&quot;需要先去新建一个类,然后输入一大段文字了JavaDoc支持Html5格式规范,同时支持进行全文搜索...

2019-03-15 14:51:40 1257

原创 随即从0-100里取5个数,问他们相加得到100的程序组合

先上一下代码 /** * @author : Administrator * @date : 2019-02-27 09:47 */public class FiveNumberAddToOneHundred { public static void main(String[] args) { long startTime = System.currentTimeMill...

2019-02-27 10:38:27 2138

原创 git入门01

什么是GITGit是一种分布式的版本控制系统,以往的CVS,SVN都是集中式的版本控制,所有的提交都必须要连接网络才能连接到远程进行代码的提交.Git不同于以上两种系统,它会把远程的代码全部拷贝下来,可以放在本地进行提交.在本地进行文件版本的控制.同时它的流行不仅仅上面所说的,它还有更加高深的内容,让我们开始学习吧!Git之Hello,World在使用之前,我已经假设阅读者已经安装好了G...

2019-02-26 12:24:24 163

原创 mysql触发器

什么是触发器触发器是由于对一个表进行操作时,用于对数据的完整性约束和业务规则进行校验等.例如插入的数据是否合法,更新一个表时是否需要做日志记录等.如果这些事情全部交给程序员自己完成,会耽搁其不能专注于业务的逻辑,而是陷入了大量的可重复性的代码之中.触发器发生的环境插入(Insert)更新(Update)删除(Delete)由于Select查询语句不会对数据库表造成任何影响,因此没...

2019-02-25 16:29:57 111

原创 MySql存储过程讲解

什么是存储过程存储过程就简单来讲,是一条或多条MySQL语句的集合,可以看做一个批处理文件,虽然它的作用不仅仅局限于批处理.存储过程的优点把需要处理的内容进行封装,简化了复杂的操作不要求反复建立一系列处理步骤,所有的开发人员和应用程序都可以使用同一存储过程简化对变动的管理,如果表名等其他发生了变动,只需要修改存储过程即可,外界不需要对此产生感知提高性能,由于存储过程是预...

2019-02-25 12:06:51 122

转载 mysql大文本搜索

存储引擎对比MySQL内置了三种存储引擎,分别是InnoDb,MyIsam和MEMORY,一般情况下,MySQL5.X之后的版本都是使用InnoDb存储引擎.三种引擎的对比InnoDb支持事务操作支持自动增加列具有行级锁定MyIsam不支持事务,也不支持外键,但是访问速度快对大文本搜索性能较好Memory目标数据较少,而且需要频繁的被访问采取的存储介质是系统内存,...

2019-02-24 18:05:29 1835

转载 SpringJpa学习教程-05-对象注解学习

SpringJpa学习教程-05对象注解学习@Entity定义对象是一个可以被JPA进行管理的实体,全局唯一,不可重复@Table指定需要在数据库匹配的数据库表名 //表名,可选,默认为实体名 String name() default ""; // 表的catalog String catalog() default ""; // 表所在的schem...

2019-01-27 20:22:20 111

转载 SpringJpa学习教程-04-注解式查询

SpringJpa学习教程-04注解式查询@Query使用:public interface UserRepository extends JpaRepository&lt;User, Long&gt; { @Query("select u from User u where u.email = ?1 and address = ?2") List&lt;User&gt; findByE...

2019-01-27 16:35:09 158

转载 SpringJpa学习教程-03-高级查询

SpringJpa学习教程-03高级查询分页查询/*** 根据分页条件进行查询,将结果保存在Page当中*/Page&lt;User&gt; findByName(String name, Pageable pageable);/*** 根据分页条件进行查询,但不查询总记录数*/Slice&lt;user&gt; findByName(String name, Pageable ...

2019-01-27 15:15:27 385

翻译 SpringBoot配置错误信息页面

SpringBoot配置错误信息页面放置错误页面到目录中在resources的public或templates或static目录下新建error目录,将错误页面放入其中,页面的名称以状态码的名称起.例如404.html或404.jsp等返回的错误信息:{ "timestamp": "2019-01-27T04:10:20.348+0000", "status": 404, ...

2019-01-27 12:17:23 645

原创 SpringJpa学习教程-02根据关键字查询

SpringJpa学习教程-02根据关键字查询常用的接口继承类Repository:无任何方法CrudRepository:具有简单的一些增删改查的方法PageAndSortingRepository:具有一些简单的分页查询功能和排序功能JpaRepository:继承了PagingAndSortingRepository,对它的方法进行了一些扩展,以下是提供的一些方法,可以看到支持批...

2019-01-21 23:22:13 211

原创 SpringJpa学习教程-01之Hello,World

SpringJpa学习教程-01什么是SpringJpaSpringJpa全称Spring Java Persistence API,中文名叫做Java持久层API.是一种基于JDK 5.0的注解或者XML来实现对象-关系的一种实现.厂商通过实现此接口,可以实现运行期间的对象直接保存到数据库.常见的ORM框架MyBatis国内使用占比率最高,国外来说相对低一点.MyBatis着力解...

2019-01-19 23:27:00 152

原创 Spring切面学习

1. 介绍Spring提供了一种面向切面的编程,内部的实现是一种基于Cglib的代理模式,使用切面,可以在不更改源码的情况下,简化大量的无用重复代码,使代码更关注实现业务逻辑,而不需要考虑是否需要配置日志、安全验证等。2. 环境配置本文采用Maven进行搭建环境,如果之前没使用过Maven,请下载相应的jar包放入项目的lib库即可。以下是所用到的pom文件:&lt;dependenc...

2019-01-12 23:03:36 188

原创 SpEL表达式学习

注意:本文均采用JavaConfig的方式注入,而不是采用XML的方式进行配置。如果需要使用XML的方式注入,本文可以作为一个参考。1. SpEL介绍SpEL全称 Spring Expression Language(Spring表达式语言),是一种应用于Spring环境下的一种语言格式。通常来说,我们往Spring环境中注入值,可以使用properties文件,也可以使用SpEL进行注入,...

2019-01-11 23:54:20 1193

原创 Spring装配对象用到的注解

@Configuration:表明这是一个注解类,可以使用AnnotationConfigApplicationContext来获得一个上下文对象,传入的参数为注解类本身AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(BeanConfigurat...

2019-01-10 09:10:58 213

原创 Spring对象的几种装配方式

环境配置使用Maven进行测试&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-context&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;5

2019-01-06 17:04:18 573

原创 Java爬虫之科目一题目

用到的工具:1、FastJson(JSON与Java对象进行转换)2、Loombok(简化JavaBean的编写)3、线程池(提高爬虫爬取效率,多线程执行任务)4、批量提交执行SQL(减少与数据库的连接,可以批量插入数据)5、Jsoup(一个基于Java开发的爬虫库)建议使用Maven进行开发,以下是我用到的Pom文件: &lt;!--MySQL--&g...

2018-12-31 19:12:04 808 5

原创 浏览器文件框筛选文件

&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;

2018-12-25 11:39:04 507

转载 代码整洁规范要求

代码规范注释不恰当的信息 /** * @param num3 待加的数字 */ public int add(int num1,int num2) { return num1+num2; }就比如上面的代码,注释的参数都不对,有可能是在写作过程中进行了修改,然后没及时的进行添加参数,不正确的参数注释,比不写注释都更容易误导,所以应该避免写注释,尽量让人看到方法名便能明白方...

2018-12-19 22:03:00 252

原创 Java绘制验证码

package cn;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import ja...

2018-12-17 14:50:34 462 3

原创 js全选框的制作

&lt;!DOCTYPE html&gt;&lt;html lang="cn"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;

2018-12-13 18:51:55 340

原创 js倒计时

&lt;!DOCTYPE html&gt;&lt;html lang="cn"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;

2018-12-13 18:50:10 88

原创 ActiveMQ之HelloWorld

概念ActiveMQ全称Active Message Queue,是一门实现JMS(Java Message Service)规范的技术,因此ActiveMQ就可以简单的理解为是一个消息队列,与普通队列不同,这个队列可以把消息单独存起来,例如群发消息,当然可以使用Mysql进行实现,但是那样性能消耗太大,且Mysql不适合专门做消息的保存,这个技术就可以实现,当一个用户建立连接时,便给他发送存...

2018-12-09 22:28:43 149

原创 Netty之HelloWorld!

为什么要使用Netty? Netty是一个基于NIO的简化版,使用Netty更方便使用Java进行异步操作。传统的IO:NIO:从图上就可以看出来,NIO简化了不必要的线程连接,以往的Socket每多一个连接,都需要创建一个线程,这是一个额外的消耗,因此Java在1.4之后推出了NIO,用于简化线程操作。NIO可以理解为New IO,也可以理解为Non-Blocking...

2018-12-09 12:56:07 133

原创 常用GC讲解

Jvm中存在几种收集算法,那么GC究竟是在什么时候执行的呢?串行收集器(Serial)优点:最古老,最稳定 效率高缺点:可能会产生较长的停顿使用:-XX:+UseSerialGC 新生代、老年代使用串行回收 新生代复制算法 老年代标记-压缩 ​​ 执行过程,如上图,因此会产生Jvm全局停顿的效果。并行收集器ParNew-XX:+UseParNe...

2018-12-08 21:49:33 269

原创 常用的GC算法

GC的概念GC全称Garbage Collection,或称垃圾收集,就是将已过期的对象进行清扫,给其他的对象容纳空间。就好像JVM开了一家饭店,平时如果没人,要是你顾客吃完了饭(对象过期),还继续待在原来的位置上,店家也不会为难你,你想占据位置就占据吧!但是如果是高峰期,新进来的顾客想要进来吃饭(创建新对象),但是位置又被不吃饭的顾客占据了,导致没有位置了(可用内存不足),那么店家就会请...

2018-12-08 17:29:19 168

原创 jvm初识(2)

堆内存的讲解类刚被初始化的时候,类的基本信息基本上都是被加载到了新生代,新生代就是对象刚刚初始化的时候需要放入的位置,但是如果一个对象是足够的庞大,也是有可能直接送入老年代进行管理的,因为新生代的内存一般比老年代小.常用的新生代与老年代的比值为1:4.一个普通对象可能需要通过若干次GC,才会把变量移动至老年代,老年代是说,经过了多次GC,但是依据保留着,就说明这个对象可能是一个使用非...

2018-12-02 19:41:07 106

原创 jvm初识(3)

常用的jvm参数GC-XX:+printGC:打印GC的简要信息[GC 4790K-&gt;374K(15872K), 0.0001606 secs] 4970K表示原来占据的内存空间,374K表示GC之后的空间,15872K表示总可用空间,0.0001606secs表示总花费的时间,单位为秒-XX:+PrintGCDetails:打印GC的详细信息(下面为部分打印信息)...

2018-12-02 19:03:09 185

原创 jvm初识(1)

jvm基本结构解释:其他文章方法区:一般也叫永久区,在jdk8之前存在的,jdk8以后把方法区放到了元空间中,也就是物理内存中,详情查看这篇文章。作用是保存静态变量、类的加载信息、字符串常量等.因为这部分空间垃圾收集器很难回收(不是不能回收),所以就被叫为永久区. 指令计数器:总是指向下一条需要执行的内存地址.有了它,计算机就能知道下一次需要怎么做. 堆内存:堆内存属于...

2018-12-02 18:33:52 108

原创 数字转货币金钱中文大写

第一版package com.demo;/** * @author Administrator * @date 2018/11/29 22:46 */public class NumToChinese { private String[] suffixArr = new String[]{"", "拾", "佰", "仟", "万", "拾万", "佰万&q

2018-11-29 23:05:53 320

原创 Java实现中英文混合字符长度的查询和截取

Hello,World!你好世界!给出一段文字既有中文又有英文,那么怎么根据中英文的不同去计算字符串的长度呢?其中中文字符算两个长度,英文字符一个长度,可以参考下面的代码:package com.demo;/** * @author 小书包 * @date 2018/11/29 21:58 */public class SubStr { public String sub...

2018-11-29 22:18:33 1592

原创 java线程池创建

Executors:Java自1.5之后提供了对线程池的创建工厂,返回的对象类型是ExecutorService,它提供了两个执行的方法,一个是submit(Runnable task)另一个是execute(Runnable command),二者都接受一个线程进行参数的传入。常用的线程池主要有以下4个:创建出的线程池,默认不创建线程,但是可放置最多Integer.MAX_VALUE...

2018-11-27 14:35:43 86

原创 延时队列小例子

用Java的延时队列,实现顾客到了点就自动下机。所谓延时队列,就是不到固定要求,不能从里面取值,即便取值,取值也为null。 对比其他队列:SynchronousQueue 队列不能存放数据,存放数据就报错,但是可以先开一个线程持续从其中取值,另一个线程放数据LinkedBlockingQueue 阻塞有界队列,如果不指定大小,可存放多个值ArrayBlockingQueue 阻塞...

2018-11-23 18:30:04 240

原创 快速从两个集合中查重

如果给你两个集合,需要挑选出重复的元素,怎么解决?两个for循环?依次遍历?那样太慢了。package com.cw.wizbank;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @Description: * @Author :小书包 * @CreateDa...

2018-11-21 10:23:33 2377 1

原创 ForkJoin计算对比普通方式计算性能分析

package com.cwn.wizbank.common;import java.io.IOException;import java.util.concurrent.ExecutionException;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java....

2018-11-19 11:56:07 340

原创 模仿微信发红包

微信发红包的金额总是不固定的,因此今天特意好奇一下,能不能使用Java代码进行模仿呢?以下是完整的代码演示,如果不需要其中的数据分析,可以去掉,去掉之后的jdk版本不做过多的要求,没去掉之前,要求是1.8+:package com.demo;import java.util.Arrays;/** * 大致模仿微信发红包的金额 * @author 小书包 * @date 20...

2018-10-13 13:30:17 1892 3

空空如也

空空如也

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

TA关注的人

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