自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风泊月

渺万里层云,独钓寒江雪!!

  • 博客(44)
  • 资源 (12)
  • 论坛 (1)
  • 收藏
  • 关注

原创 线程池ThreadPoolExecutor

引子线程的创建和销毁比较消耗资源,所以有一种更加高效快捷的方式管理线程----线程池。 先来看一下线程池的java模型Executor:线程池顶级接口,只有一个方法ExecutorService:真正的线程池接口void execute(Runnable command) :执行任务/命令,没有返回值,一般用来执行Runnable Future submit(Callable...

2020-03-23 07:52:38 996

原创 volatile

学习volatile之前,先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性:  可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也...

2020-03-23 07:43:51 169

原创 BlockingQueue

今天我们来认识一下BlockingQueue,获取学习资料添加qq:1184905186什么是BlockingQueue?BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种:当队列满了的时候进行入队列操作当队列空了的时候进行出队列操作因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除...

2020-03-22 18:42:54 279

原创 认识Condition

      今天我们来学习一下Condition(身份)Condition是在Java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition1的await()、signal()这种方式实现线程间协作更加安全和高效。&n...

2020-03-22 16:06:55 266

原创 Lock与Synchronized的比较

一.Lock锁和Synchronized锁的比较synchronized是java中的一个关键字,已经有它控制线程了 为什么还需要lock?如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:  1)获取锁的线程执行完了该代码块,然后线程释放对锁的占有;  2)...

2020-03-22 10:29:03 202

原创 大话Iterator

    我们做集合相关的内容时 必不可少的是会遇到 Iterator这个单词 。今天我们来看一下它是什么?一.IteratorIterator专门为遍历集合而生,集合并没有提供专门的遍历的方法Iterator实际上迭代器设计模式的实现Iterator的常用方法boolean hasNext(): 判断是否存在另一个可访问的元素Object n...

2020-03-21 19:52:57 156

原创 如何判定一个对象是否应该回收?以及CMS垃圾回收器和G1收集器的特点

       前文我们聊了垃圾回收的算法,那么我们现在来看一下,如何判定一个对象时垃圾。举个例子Person p = new Person();p = null;//此时的p是不是已经是一个垃圾       为了解决循环引用的问题,java中采取了正向...

2020-03-21 10:41:37 310

原创 垃圾回收算法有哪些?

     在学习面向对象时大家肯定知道GC,我们都知道无用的变量就是垃圾,那么该何时回收,怎么回收呢,我们今天来看一下。标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。在清除阶段,清除所有未被标记的对...

2020-03-21 10:02:52 287 1

原创 多线程数据共享之卖票问题

来看一道经典的多线程问题,多个售票窗口卖票:涉及到线程的创建,资源的掠夺,语法新特性等等。ps:使用了jdk8的新特性 不懂请 看jdk8新特性欢迎点赞关注:qq: 1184905186public class ThreadTest03 { public static void main(String[] args) { TicketWindow ticketWind...

2020-03-20 20:16:14 125 1

原创 多线程数据共享带来的问题以及解决方案

小故事老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去,赚一点外快小男、小女(线程)来使用这个算盘来进行一些计算,并按照时间给老王支付费用但小男不能一天24小时使用算盘,他经常要小憩一会(sleep),又或是去吃饭上厕所(阻塞 io 操作),有时还需要一根烟,没烟时思路全无(wait)这些情况统称为(阻塞)在这些时候,算盘没利用起来(不能收钱了),老王觉得有点不划算...

2020-03-20 18:33:30 830

原创 查看进程线程的方法

大量的进程运行时,会导致电脑卡顿,最高效的方式是重启电脑。但是 还要重头再启动很多的软件和服务,如何精确定位哪个进程的那一条线程?ps:获取学习资料 添加qq: 1184905186windows任务管理器可以查看进程和线程数,也可以用来杀死进程tasklist 查看进程taskkill 杀死进程举个例子:linuxps -fe 查看所有进程ps -fT -p 查看某个...

2020-03-20 10:44:41 425

原创 java8新特性 Stream

今天我们来学习一下java8的新特性,欢迎关注点赞。想要获取学习资料添加qq : 1184905186一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(i...

2020-03-19 17:53:49 97

原创 数据库中的BTree和B+Tree

      B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉...

2020-03-19 09:20:16 452

原创 Zookeeper小解

       我们做过solr集群 也做过服务的分布式部署。那么肯定会接触过zookeeper这个词。乍一看我们好像知道它是什么,但是仔细一回忆又好像什么都不清楚。今天,我们来一起聊一下zookeeper。如果对你有帮助,可以点个关注,遇到代码的bug,或者想要学习资料可以添加我的qq 1184905186 一、 ZooKe...

2020-03-18 19:26:13 122

原创 Spring Boot读取配置的几种方式

       当大家看到这篇博客的时候 ,相信已经对SpringBoot有了简单的了解。也看过很多人的demo,但是会发现 不同的程序员 在获取配置信息时 使用的方式不一样,不免会搞得一头雾水,下面我们来一起看一下 具体有哪些方式。1.读取application文件在application.yml或者properties文件中添加:info.addr...

2020-03-17 16:02:08 91

原创 Dubbo常见问题及解决方案

1、Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目。官网:http://dubbo.apache.org2、为什么要用Dubbo?Dubbo是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。使用 Dubbo 可以将核...

2020-03-17 14:45:41 724

原创 Redis常见问题及解决方案

1.Redis 持久化机制    Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。     实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由...

2020-03-17 09:08:44 560

原创 SpringMVC中的拦截器

1.过滤器和拦截器的对比过滤器: 应该实现Filter接口, 重写三个方法(init, doFilter, destroy), 过滤器还必须进行配置(web.xml)才能使用. 过滤器针对servlet进行请求拦截.拦截器: 需要实现HandlerInterceptor接口或继承HandlerInterceptorAdapter类. 需要操作的方法有三个(preHandle, postHan...

2020-03-15 11:17:59 71

原创 SpringMVC实现ajax操作 DateTimeFormat格式化日期属性

1.ajax复习a)ajax是一种能够进行局部页面刷新的艺术. 变同步操作为异步操作.b)原生ajax操作的步骤:创建对象XmlHttpRequest.监听事件onreadystatechange准备请求, 调用open方法发送请求, 调用send方法接收响应内容, responseText来接收响应文本信息c)jquery对ajax的支持:$.ajax({}), url,...

2020-03-15 11:09:42 243

原创 SpringMVC实现文件上传

1.文件上传的前提需要导包: commons-fileupload.jar, commons-io.jar需要提供上传文件的表单域: <input type=”file”name=”” />表单的提交方式必须是post方式表单的enctype属性必须是multipart/form-data2.使用SpringMVC进行文件上传   &nbs...

2020-03-15 11:03:55 90

原创 SpringMVC 实现页面跳转

1.页面跳转的两种方式1.1请求转发request.getRequestDispatcher(path).forward(request, response);一次请求地址栏路径不会发生变化可以使用请求作用域传参只能访问内部资源(当前项目下的资源)可以访问安全目录下的资源(WEB-INF)路径中的/表示项目根路径响应重定向response.sendRedirect(loca...

2020-03-15 10:59:16 186

原创 SpringMVC 参数的接收和处理

一.请求参数的接收1.1servlet中如何接收参数?request.getParameter(name), request.getParameterValues(name). 方法的特点:a)参数要求是表单域的name属性;b)getParameter方法用于获取单个值, 返回类型是String;c)getParameterValues方法用于获取一组数据, 返回结果是String[...

2020-03-14 20:34:27 100

原创 SpringMVC环境搭建

1.通过配置的形式搭建(了解)1.1创建项目并导包web项目, 包:spring相关springmvc相关: spring-webmvc.jar1.2编写后端控制器public class DemoController implements Controller { @Override public ModelAndView handleRequest(HttpSe...

2020-03-14 18:59:55 68

原创 Spring 声明式事务

1.事务的管理方式可以分为两种:a)编程式事务管理: 通过代码编写的形式进行事务管理的方式b)声明式事务管理: 通过配置的形式进行事务管理的方式Spring中的声明式事务是借助AOP实现的. 声明事务还提供了对事务更细致的控制.2.完成声明式事务的配置必须依赖spring-tx.jar包和tx及aop命名空间<?xml version="1.0" encoding="UTF-8"...

2020-03-14 17:40:42 77

原创 Spring整合MyBatis

1.如何进行整合Spring可以将已有技术变得更好用, MyBatis是可以简化JDBC操作. 前提:导包, 要注意Spring默认没有提供整合MyBatis的包, 由MyBatis提供, 需要将整合包导进来.责任划分, MyBatis负责数据库的操作(映射文件xxxMapper.xml); Spring负责整体的管理工作(管理数据源, 管理事务, 管理MyBatis, 管理对象, 管理A...

2020-03-13 08:19:26 58

原创 Spring AspectJ简化AOP配置

1231321

2020-03-13 08:06:11 90

原创 Spring AOP

1.AOP的定义:       在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务...

2020-03-13 07:56:36 61

原创 Spring之代理模式

为什么要用代理模式?中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类而不需要再修改委托类,符合代码设计的开闭原则。代理类主要负责...

2020-03-12 20:57:41 174

原创 SpringBean标签详解

标签用于创建对象, 常用属性概述:1.class用于定位类, 写的是类型的全限定路径.2.id用于给的对象做唯一标识. 命名规则一般是字母, 数字, 下划线.3.factory-bean用于指定创建目标对象使用的工厂对象.4.factory-method用于指定调用工厂中的哪个方法去创建目标对象5.name给对象定义别名(小名, 昵称). 可以出现一些特殊符号(不建议使用$, ...

2020-03-12 12:04:42 104

原创 Spring创建对象以及为对象赋值的几种方式

a)通过构造器创建对象无参构造器. 默认Spring会使用无参构造器创建对象有参构造器. 可以在下通过标签指定使用有参构造器创建对象. 属性介绍:index: 索引, 从0开始, 表示参数的索引位置name: 名称, 表示参数的名称type: 类型, 表示参数的类型value: 赋值. 当值是简单类型时可以使用. 基本类型, 包装类型, String, resource, class...

2020-03-12 08:50:03 442

转载 Spring IoC/DI详解

1.1IOC是什么?      Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面...

2020-03-12 08:40:50 137

原创 搭建Spring基础环境

1.创建项目并导包创建java工程, 导入jar包a)spring核心jar包: 4个spring-core.jarspring-beans.jarspring-expression.jarspring-context.jarb)日志包: commons-logging.jar, 被spring-core.jar所依赖.2.提供配置文件配置文件要求是一个xml文件. 命名没有要...

2020-03-11 17:08:50 103 1

原创 Spring Framework Runtime

Test对应spring-test.jar. Spring提供的测试工具,可以整合JUnit测试,简化测试环节.CoreContainer Spring的核心组件,包含了Spring框架最基本的支撑.Beans, 对应spring-beans.jar. Spring进行对象管理时依赖的jar包. Core,对应spring-core.jar, Spring核心jar...

2020-03-11 11:16:42 1092

原创 认识Spring框架

一、spring简化Java开发为了降低Java开发的复杂性,spring框架采取了四种关键策略(1)基于POJO的轻量级和最小侵入性编程注:spring竭力避免因自身的API而弄乱你的应用代码。spring不会强迫你实现spring规范的接口或继承spring规范的类,相反,在基于spring构建的应用中,它的类通常没有任何痕迹表明你使用了spring。最坏的场景是,一个类或许会使用spr...

2020-03-11 10:48:17 109

原创 Mybatis注解开发

1.注解的使用规范  a)元注解, 描述注解的注解. 一共有四个:@Target, 表示当前注解作用的位置@Retention, 保留策略, 在什么时间段生效@Document, 注解将出现在javadoc中@Inherited, 可以被子类继承   b)注解的使用规范:使用注解需要先导包: import语法: @注解名(属性=值, …...

2020-03-11 09:43:27 79

原创 Mybatis多表连接查询

Mybatis多表连接查询 需要借助<resultMap>标签1.<resultMap>标签的使用在MyBatis中, 查询标签有两个属性, resultType和resultMap. 都代表返回结果的类型. 区别在于:resultType指定的一个类型, MyBatis会进行自动映射(Auto-Mapping). 列名和属性名一致则进行映射, 否则属性被赋值为nu...

2020-03-11 09:33:36 183

原创 MyBatis的缓存机制

1.什么是缓存?缓存是内存中开辟的一个区域, 用于存放一些数据(信息). 来提高数据的读取速度. 提高查询效率.2.MyBatis对缓存的支持a)一级缓存MyBatis基于SqlSession对象做的缓存. 同一个SqlSession对象中, 对同一个id的查询, MyBatis会进行数据的缓存. 一级缓存默认开启.b)二级缓存MyBatis基于SqlSessionFactory级别做...

2020-03-10 19:36:29 51

原创 Mybatis4 Mybatis动态sql的实现

###1.什么是动态SQLSQL语句不固定, 会根据前台用户的操作而进行变化的SQL语句, 可以被称之为动态SQL. 在MyBatis中, 提供了一组标签, 用于方便的实现动态SQL, 不需要通过java代码拼接字符串了.###2.动态sql中的标签######1.用于条件判断, test属性表示判断结果, 要求是一个boolean.######2.用于维护where子句, 通常配合一...

2020-03-10 18:59:54 124

原创 MyBatis3 接口绑定方案实现

第一节(接口绑定) 什么是接口绑定 了解 要遵循的规范 掌握 参数传递问题 掌握 什么是接口绑定 接口绑定,是MyBatis中提供的一种比较灵活的数据库操作方案.用于解决方法调用...

2020-03-10 18:49:59 76

原创 Mybatis 2 工具类的编写,常见的增删改查

节数 知识点 要求 第一节(封装MyBatis工具类) 工厂对象只需要一个,借助静态代码块 了解 第二节(MyBatis中带条件的查询) #{}占位符 掌握 #{}支持三种方式参数的传递 ...

2020-03-10 08:22:28 100

jstl的两个jar包

jstl需要的两个jar包,下载后解压即可得到两个,千万不要直接添加!!!看到这个资源也是收费的非常气愤,所以上传了免费的,路过点赞,手留余香!!

2018-07-03

mysql5.1帮助手册看清楚是 5.1

mysql5.1版本帮助手册

2020-09-07

js排序算法动态展示

js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示

2019-03-18

java1.8源码

1.8的源码

2016-08-03

省市县3级联动sql

用于省市县3级联动数据源,仅供练习。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-02-07

上拉刷新下拉加载更多

史上最好用的上拉刷新下拉加载更多框架!简单方便松松的.....

2016-01-17

picasso设置圆角的demo

一个简单的Picasso设置圆角的demo,相互交流共同进步!!

2016-06-21

Litepal1.3.2

官网jar方便大众

2016-06-23

mybatis.zip

Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档 Mybatis的中文帮助文档

2019-05-16

java反编译软件

2017-02-03

java发送qq邮件 支持群发 附件等等

java发送qq邮件 支持群发 附件等等等..

2019-12-05

JavaScript语言精粹

资源共享

2016-11-30

风泊月的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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