自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (12)
  • 收藏
  • 关注

原创 JVM参数简介

参考文档地址:https://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.htmlhttps://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BGBCIEFC-XmnsizeSets the initial and maximu...

2020-01-07 13:52:24 245

原创 Java并发------CopyOnWriteArrayList

前言我们所知 Map 双列集合的 Hashtable 和 Collection 单列集合的 Vector 是线程安全的,但是这两种方式都是简单粗暴的使用 synchronized 对涉及方法进行加锁,效率很低下。所以 Java 并发包中对 HashMap 提出了一种效率更高的一种线程安全的方式,也就是 ConcurrentHashMap,并且在 Jdk8 中性能得到了再次提升。而对于 List...

2019-08-15 17:13:38 245

原创 Java并发------JDK8 CompletableFuture

一、runAsync 和 supplyAsync1、runAsync 的基本使用:无返回值,持有一个 Runnable 对象。System.out.println("begin");CompletableFuture.runAsync(() -> { try { System.out.println("before sleep"); Thread...

2019-08-15 13:48:01 2323 1

转载 Java并发------彻底理解ThreadLocal

转载地址:https://www.fangzhipeng.com/javainterview/2019/03/24/threadlocal.html彻底理解ThreadLocal深挖过threadLocal之后,一句话概括:Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。所以ThreadLocal的应用场合,最适合的是按线程多实例(每个线程对应一个...

2019-07-25 16:51:58 161

转载 Java并发------Synchronized使用

前言本文介绍 Java 实现安全的方法,主要与 synchronized 相关的一些方法。一、synchronizedsynchronized 是 Java 提供多线程通信最基本的一种机制,出现的比 ReentrantLock 早,它是使用监视器(monitor)来实现。Java 每个对象都关联了一个监视器,线程可以对其进行加锁和解锁操作。在同一时间,只有一个线程可以拿到对象上的监视器锁。如...

2019-01-07 16:40:09 226

转载 Java并发------并发队列 BlockingQueue

一、BlockingQueue 简介BlockingQueue 接口继承了 Queue,它是一个先进先出的队列(Queue),为什么说是阻塞(Blocking)的呢?是因为 BlockingQueue 支持当获取队列元素但是队列为空时,会阻塞等待队列中有元素再返回;也支持添加元素时,如果队列已满,那么等到队列可以放入新元素时再放入。BlockingQueue 对插入操作、移除操作、获取元素操作...

2019-01-03 17:42:03 182

转载 Java并发------并发基础之内存模型JMM

一、并发三问题1、重排序试着运行一下下面的代码:public class Test { private static int x = 0, y = 0; private static int a = 0, b =0; public static void main(String[] args) throws InterruptedException { ...

2018-12-27 17:18:57 149

转载 Java并发------AbstractQueuedSynchronizer之共享模式(三)

一、CountDownLatchCountDownLatch 是 AQS 共享模式使用的锁,共享的概念就是 N 条线程需要同一把锁,当 N 条线程全部执行完成后,才会继续向下执行。这是一个简单应用:public static void main(String[] args) { CountDownLatch startSignal = new CountDownLatch(1); ...

2018-12-26 15:24:33 191

转载 Java并发------AbstractQueuedSynchronizer之Condition(二)

二、

2018-12-26 15:24:22 190

转载 Java并发------AbstractQueuedSynchronizer之ReentrantLock(一)

一、AbstractQueuedSynchronizerAbstractQueuedSynchronizer 是 Java 并发包的基础工具类,是实现 ReentrantLock 等的基础。后面 AbstractQueuedSynchronizer 简称 AQS。1、先说一下 ReentrantLock 的使用方法:public class OrderService { privat...

2018-12-26 15:23:56 164

原创 Java并发------HashMap和ConcurrentHashMap详解

HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。 通过 HashMap、Has

2018-12-06 15:37:25 401

转载 我的java问题排查工具单

转载:https://yq.aliyun.com/articles/69520前言平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。Linux命令类tail最常用的tail -ftail -300f shopb...

2018-11-12 15:27:00 169

原创 Java使用Mongodb和Mongodb基本语法

一、springboot操作MongoTemplate的简单应用:1、基本查询新建对应mong表中的实体类:/** * @Description:测试实例 * @Author:wb */@Document(collection = "yylive_new_web")//对应数据的表名@Data@NoArgsConstructorpublic

2018-10-30 20:15:14 6560

原创 idea使用

二、插件集合1、Lombok用于减少重复代码,在实体类中,可以不再书写get、set、toString等方法,只要提供出基本的成员变量即可,后续增加成员变量时,也不需要再重新生成get、set、toString方法。 使用:引入Lombok的jar包,在类上或者成员变量上使用注解即可,详细使用有官方文档@Data,@NoArgsConstructor等;idea引入Lombo...

2018-08-20 18:01:25 1426

原创 mysql索引学习

一、索引类型1、唯一索引(主键)建表语句:CREATE TABLE `person` ( `ID` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;2、普通索引建表语句:CREATE TABLE `per...

2018-07-06 15:46:25 1514

原创 map遍历的几种方式和效率问题

一、map遍历的效率先创建一个map,添加好数据:Map<String, String> map = new HashMap<>();for (int i = 0; i < 1000000; i++) { map.put(i + "", i + "AA");}1、keySet的for循环方式://只获取keypublic static v...

2018-07-05 10:09:21 22467 5

原创 开发颠覆者SpringBoot实战---------SpringCloud学习

spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。一、服务注册中心pom文件:<dependencyManagement> &amp

2018-06-11 11:01:55 4672 1

原创 开发颠覆者SpringBoot实战---------SpringBoot的数据访问学习

一、SpringBoot和mybatis整合1、使用mybatis generator 自动生成代码创建新文件resources\generator\generatorConfig.xml:<?xml version="1.0&am

2018-05-29 15:47:02 801

原创 开发颠覆者SpringBoot实战---------SpringBoot的Web学习

SpringBoot提供了spring-boot-starter-web为Web开发予以支持,Web相关的自动配置存储在org.springframework.boot.autoconfigure.web下,里面有自动配置内嵌Servlet容器、自动配置http编码、自动配置上传文件的属性、配置SpringMVC等...

2018-05-23 10:08:30 2535

原创 开发颠覆者SpringBoot实战---------SpringBoot的基础学习

一、介绍随着动态语言的流行,常规的java开发S显得格外笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。为了解决这些问题,SpringBoot应运而生。它使用“习惯优化配置的理念”(项目中存在大量的配置,还内置一个习惯性配置,让你无需手动进行配置)来让项目快速运行起来,很容易创建一个独立运行、准生产级别的项目,可以不用或者需要很少的Spring配置。核心功能:...

2018-05-21 15:10:56 369

原创 开发颠覆者SpringBoot实战---------SpringMVC的基础学习

pom.xml文件 logback.xml日志文件<?xml version="1.0&quo

2018-05-16 17:14:43 350

原创 开发颠覆者SpringBoot实战---------Spring的基础学习

pom.xml文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc

2018-05-16 11:41:10 296

转载 Redis实现消息队列

redis实现消息队列

2018-05-07 09:24:48 349

转载 MySQL性能优化

mysql优化

2018-05-04 17:24:00 262

原创 spring事务

一、使用声明式事务进行事务管理1、声明式事务: Spring的声明式事务管理在底层是建立在AOP的基础之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过等价的基于标注的...

2018-05-04 09:37:40 4506

原创 JavaScript学习

1、输出使用 window.alert() 弹出警告框。使用 document.write() 方法将内容写到 HTML 文档中。使用 innerHTML 写入到 HTML 元素。使用 console.log() 写入到浏览器的控制台。2、对象JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。1)typeof 判断变量的数据类型,ECMA...

2018-05-02 17:10:48 210

原创 html、js小用法

一、Form实现Ajax提交表单function xxx() { var opts = { url : '/xxx.do', type : 'post', dataType : 'json', success : function(data) { } } $("#jvForm").aja...

2018-04-11 09:24:18 187

原创 负载均衡

负载均衡

2018-03-20 10:18:20 315

原创 SQL学习

一、变量1、局部变量变量可以在子程序(函数、存储过程、匿名块)中声明并使用,这些变量的作用范围是在BEGIN…END程序中。赋值语法1:setDECLARE var1, var2, var3 INT; SET var1 = 10, var2 = 20; SET var3 = var1 + var2; 赋值语法2:select intoBEGIN DECLA...

2018-03-16 14:31:02 506 1

原创 java算法基础——排序算法

一、排序算法以下代码的测试数据都是:int[] arr = new int[] {10, 5, 3, 8, 2, 4, 9, 1, 7, 6};1、冒泡排序(Bubble Sort)其核心思想是:对于一组需要排序的数字,依次将个位置上的数字与逐一与其之后的数字进行比较,如果他们的顺序错误就把他们交换过来。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。

2018-01-24 11:37:37 266

原创 java数据结构——6队列(Queue)

六、队列(Queue)在“队列”(Queue)这种数据结构中,数据项是先进先出(FIFO:first in first out)。队列的容量可以有限,也可以是无限的。1、基于数组的Queue实现一般情况下,对于Queue而言,最核心的操作是:插入队列(enqueue)、移出队列(dequeue)。因为在队列中,插入操作是插入到队列的最后,而移出操作是移出队列的头部元素。因此我们通常会使

2018-01-24 10:19:49 327

原创 java数据结构——5栈(Stack)

五、栈(Stack)栈(Stack)是一种后进先出的数据结构(LIFO:last in first out),只允许访问栈中的第一个数据项:即最后插入的数据项。移除这个数据项之后,才能看到第二个数据项,以此类推。往栈中存入数据称之为压栈(push),移除数据称之为弹栈(pop),此外通常还提供查看栈顶元素的peek方法,此方法可以拿到栈顶元素的值,但是并不会将其移除。java.util

2018-01-24 10:07:51 266

原创 java数据结构——4迭代器(iterator)

四、迭代器(iterator)如果我们想遍历数组,这很容易,因为可以用数组的下标跟踪所在的位置,然而在链表中,节点没有这样的下标,怎样才能提供给链表用户类似于数组下标的东西呢?这就是迭代器(iterator)的作用。我们知道添加到链表中的数据(data),都会包装成一个节点(node),节点之间通过引用保存了先后关系(pre、next)。但是由于在获取数据时(如getFirst),返回的直

2018-01-24 09:39:29 259

原创 java数据结构——3链表(LinkedList)

三、链表(LinkedList)下面将有一种新的数据存储结构,它可以解决上面的一些问题。这种数据存储结构就是链表。链表可能是继数组之后第二种使用最广泛的通用存储结构。单链表双端链表有序链表双向列表有迭代器的列表链表与数组一样,都作为数据的基本存储结构,但是在存储原理上二者是不同的。在数组中,数据是存储在一段连续的内存空间中,我们可以通过下标来访问数组中的元素;而在链表中,元

2018-01-23 14:36:04 229

原创 java数据结构——2基于数组的ArrayList

二、基于数组的ArrayListArrayList是Java中我们最常使用的List接口的实现类,其是内部就是通过维护一个无序数组来实现的。因此ArrayList具备无须数组拥有的所有优点和缺点:操作 ———————— 时间复杂度插入 ———————— O(1) 删除 ———————— O(n)查找 ————————

2018-01-23 14:28:56 226

原创 java数据结构——1数组

一、数组数组是应用最广泛的数据存储结构,它被植入到大部分编程语言中。由于数组十分易懂,所以它被用来介绍数据结构的起点。 数组分为2种:无序数组与有序数组。有序数组就是无序数组经过排序后结果。另外数组需要有以下这些要求:1. 我们通常假设数组中是没有空洞的。当我们想在数组查找某个元素时,当所有元素都查过了之后,依然没有查到,就说明数组中不包含此元素。那么我们如何知道所有的元素都已经查过了

2018-01-23 11:02:17 177

原创 jdk8新功能

一、接口之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的java 8之前的集合框架没有foreach方法,通常能想到的解决办法是在JDK里给相关的接口添加新的方法及实现。然而,对于已经发布的版本,是没法在给接口添加新方法的同时不影响已有的实现。所以引进的默认方法。他们的目的是为了解决接口的修改与现有的实现不兼容的问题。...

2018-01-05 17:15:11 400

原创 jdk7一些功能

jdk功能

2018-01-03 17:31:53 236

原创 java技术

转载:http://lj6684.iteye.com/blog/895010最近在网上查资料碰到好多没接触过的技术,先汇总在这里备用,以后慢慢吸收JNA JNI的替代品,调用方式比JNI更直接,不再需要JNI那层中间接口,几乎达到Java直接调用动态库SmallSQL 基于JDBC3.0转为Desktop应用设计的嵌入式数据库,纯Java,本地访问,不支持网络 但目前好像不太活跃,最新版本

2017-12-06 10:36:56 574

原创 Utils

一、map转json二、图片等比例压缩三、时间处理

2017-12-04 10:13:11 162

stomp.js和sockjs.js

浏览器和服务端通信的webSocket,STOMP协议的客户端脚本和SOCKJS的客户端脚本

2018-05-22

JAVA并发编程实践

JAVA并发编程实践,从最基础的线程、线程池、锁介绍,再到开发中的应该都有介绍

2018-05-15

jdk8新功能介绍

jdk8新功能介绍,lambda、stream、新增的api、一些杂项改进都有

2018-05-15

开发的颠覆者springboot实战

开发的颠覆者springboot实战,没有缺失,eclipse、idea的教程都有

2018-05-15

微信支付工具类

封装好的微信支付工具类,本人已成功调用。可直接拿来使用,更换为自己的参数即可。包含付款和退款两部分

2018-03-02

pc手机上图片全屏放大

pc和手机上都支持的图片全屏放大功能,封装好的js和css样式,添加标签即可使用

2018-03-02

amr网页解码播放

html的audio标签不支持amr格式的音频播放,使用这个工具类,在后台把amr格式文件转化为base64的字符串传回前段,前段网页即可解码播放

2018-03-02

tomcat的apr

tomcat配置https后进行优化,使用apr工具进行配置,增加并发量和缩短访问时间

2017-11-10

w7笔记本开启无线网

w7笔记本插上网线,即可开启无线网,手机等其他设备可进行连接

2017-11-03

postman测试工具

postman,可自动更新,是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。

2017-11-03

joda-time源码

joda-time源码,在日常的编程中,常常需要处理日期。但是使用 java.util.Calendar 类处理日期/时间,非常的麻烦。那么福音来了,博主给大家隆重的介绍一款新的类库Joda-Time!并且,已经将其封装成一个“日期处理万能工具类”

2017-11-03

空空如也

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

TA关注的人

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