自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

虑而后能得

天之道,损有余而补不足;人之道,损不足而益有余

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

原创 spring框架理解之DI

。。

2019-08-18 22:30:13 294

原创 spring框架理解之DI

DI:即依赖注入。依赖:一个对象需要调用另一个对象注入:通过setter方法进行对另一个对象实例的设置比如service层和dao层。为了解耦吧dao设置给service层传统做法:但是由spring设置service和dao之间的关系可以通过xml设置property来解决 <!-- 创建BookService name: bean 的属性名,属性名通过...

2019-07-29 21:59:38 347 2

原创 Spring框架初次学习之IOC

对spring的理解:spring就是一个容器,用来生成bean。spring的核心容器是benas。core。context(配置文件) ,expression。IOC即:控制反转,在没有IOC之前,直接new一个对象。会导致工作很麻烦。由Spring创建对象实例——>IOC控制反转,创建实例由spring完成IOC做法:从spring工厂(容器)中获得,需要将实现类的全限定名称...

2019-07-29 21:23:39 252 2

原创 多线程并发之wait()和await()区别

wai()是Object类提供的,一般与synchronized联合使用。调用wait之后会释放锁,导致线程等待。唤醒进程使用notify()或者notifyAll()await()Condition类是当中的,一般与Lock联合使用。举例:synchronized(obj){ obj.wait();//消费方没东西了,等待}synchronize(obj){ obj.no...

2019-07-29 21:04:44 16149 2

原创 多线程之Semaphore信号量理解

Semaphore介绍:Semaphore是一个计数信号量,本质是一个共享锁。线程可以通过acquire()来获取信号量许可。举个例子,假设初始化时给定一个信号量值,比如是5,线程调用acquire()方法时,判断这个信号量是否大于0,如果大于0就把信号量的值减1,然后继续执行。如果不大于0,那么就会阻塞。知道其他线程调用releas()方法,释放一个信号量。其实就和PV操作一样...

2019-07-29 18:57:11 249 1

原创 多线程并发之CyclicBarrier

CyclicBarrier介绍:位于java.util.concurrent并发包下,是一个工具类。CyclicBarrier是循环栅栏的意思,它能阻塞一组线程直到某个事件发生。等到释放这些线程之后,CyclicBarrier还可以重复用,所以是循环栅栏比如我们一起包了车去游玩,有些人早早到了有些人准时到,有些人迟到。但是无论怎样都要等所有人都齐了,车才能开,这个车就是CyclicBarrie...

2019-07-29 18:32:25 325 1

原创 多线程的锁之ReentrantLock

ReentrantLock介绍:ReentrantLock是一个互斥锁,可重入锁。也被称为独占锁,即ReentrantLock在同一时间只能被一个线程持有实现了Lock接口的类,而且也是jdk中唯一实现了Lock接口的类,其中可重入的意思是,单个线程可以重复获取锁ReentrantLock分为公平锁和非公平锁。ReentrantLock是通过一个FIFO的等待队列管理获取该锁的所有线程的。...

2019-07-29 18:07:24 350 1

原创 多线程之sleep和wait的区别

sleep:使当前线程睡眠,但是并不释放锁sleep是Thread类的方法sleep可以用在任何地方sleep必须捕获异常wait:使当前进程等待,但是释放锁。wait是Object类的方法wait,包括notify和notifall只能在synchrnized修饰的方法或代码块中使用sleep不需要捕获异常关于释放锁的理解:你在人工售票口买票,sleep方法只是让你站在买票...

2019-07-29 17:40:52 203

原创 多线程之Callable和Future

Callable创建线程可以继承Thread类,重写run方法,也可以使用匿名内部类,也可实现Runnable接口,但是实现Runnable类,重写run方法并没有返回值。从JDK1.5之后,java提供Callable接口,里面只有一个call方法作为线程执行体。实现Callable接口,重写call方法就可以创建一个线程,与run方法相比,Call方法更强大。→ call方法可以有返回值...

2019-07-29 17:32:37 190 1

原创 多线程的锁之线程池核心参数

核心构造方法:ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlokingQueueworkQueue){}重要的参数:1, corePoolSize:核心线程数,2, maximumPoolSize:最大线程数3, keepAliveTime , 存活时间...

2019-07-29 17:00:44 195 1

原创 多线程的锁之悲观锁乐观锁的对比学习

悲观锁:读取数据之前,假设会发生并发冲突,所以从一开始就为了防止冲突,在获取数据的时候进行加锁,确保自己使用的过程中不会被修改,使用完成之后在进行锁的释放。典型的是Synchronized乐观锁:假定不会发生数据冲突,所以获取数据的时候不加锁,但是在提交数据的时候,会判断是否被修改过,如果被修改过则不进行数据更新,如果判断没被其他线程修改,则进行数据更新。乐观锁底层使用CAS无锁机制实现的CA...

2019-07-29 16:17:01 174 1

原创 Volatile为什么能保证禁止重排序

上一篇提到了内存屏障,volatile通过插入读屏障和写屏障保证可见性,在volatile禁止重排序上,也是通过内存屏障实现的。因为内存屏障可以使一些指令按照特定顺序执行。volatile禁止指令重排序的规则: 1.当第二个操作是voaltile写时,无论第一个操作是什么,都不能进行重排序 2.当地一个操作是volatile读时,不管第二个操作是什么,都不能进行重排序 3.当第一个操作是...

2019-07-29 15:59:44 1817 6

原创 Volatile如何保证可见性

volatile是java虚拟机提供的轻量级的同步机制,能够保证内存共享变量的可见性。那么volatile是如何保证可见性的呢?首先要知道内存屏障是什么,内存屏障是一个CPU指令,内存屏障是这样的指令1,确保特定操作执行的顺序2,影响一些数据的可见性,编译器和CPU可以保证输出结果一样的前提下对指令进行重排序,使得性能优化,当插入一个内存屏障,相当于告诉CPU和编译器,先于这个命令的必须先...

2019-07-29 15:36:04 4294 4

原创 代理模式

为一个对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象优点:可以再目标对象实现的基础上,增强额外的功能操作,即拓展目标对象的功能被代理的对象:可以是远程对象,创建开销大的对象,或需要安全控制的对象代理模式的三种形式:静态代理动态代理Cglib代理(可以在内存中动态的创建对象,而不需要实现接口,属于特殊的动态代理)代理模式的类图:一:静态代理:以教师授课为例,静...

2019-07-28 21:06:16 148 1

原创 解决Unhandled Exception

当出现这个错误的时候说明调用的方法在方法声明上已经声明了会抛异常,那么在调用时候就必须做处理处理方式一:try -catch方式处理方式二:向上一层抛出异常...

2019-07-12 20:56:10 11563 1

原创 javaEE思维导图

2019-06-30 21:45:35 756 4

原创 对于原码补码反码的理解

对于正数来说,原码反码补码都一样不管是正数、负数,在底层都是以补码存在的以byte b = 13为例:它的原码、反码、补码、都一样 以byte b = 13 为例子,展示在内存中的反码,补码,原码13用二进制表示是00001101反码是把0和1反过来,即:11110010补码是反码+ 1 即:11110011补充:数据在底层的存储格式是以补码的形式存在补码的重要性:补码使得符号...

2019-06-30 21:43:15 1161 5

原创 Java多线程-join()方法

什么是join()方法:在Thread.java中定义,作用是让当前线程等待子线程运行结束之后才能继续运行一 源码分析:join方法源码:public final void join() throws InterruptedException {join(0);}public final synchronized void join(long millis)throws Interr...

2019-06-23 21:43:36 240 5

原创 vue打包问题——图片静态资源不能加载问题

在原本的build文件里utils.js里面,下面这段代码,添加一句代码 publicPath:’…/…/’ if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', }) }...

2019-06-09 21:18:32 1066 2

原创 cmd识别java命令却不识别javac

识别java却不识别javac这是因为路径没有配置好第一开始我试了很多种方法,比如在path中把%JAVA_HOME%\bin 和%JAVA_HOME%\jre\bin路径分成两行,且中间没有;可惜还是不行后来发现应该是我的java路径写错了如果你在cmd中输入java -version能出来版本配置信息,说明你的java已经 安装配置过了然后通过java -verbose命令,在输出的...

2019-05-26 21:38:57 11909 4

原创 MySql与JDBC编程

2019-05-19 21:33:06 268 5

原创 对json树删除某个名称的父节点及其子节点

find(arr,name){let data = arr;for(let i =0;i<arr[0].listKid.length;i++){if (arr[0].listKid[i].applicationName===name){delete data[0].listKid[i]}}console.log('最新的data',data)return data;},...

2019-05-12 21:33:48 1455 4

原创 J.U.C学习

是一个并发库

2019-05-05 21:52:57 142 4

原创 Java多线程———创建

一,继承Thread类创建线程类①定义Thread子类,重写该类的run()方法,run()方法代表了线程需要完成的任务②创建Thread子类实例,即线程对象③,调用线程对象的start()方法启动该线程 public class FirstThread extends Thread{ private int i; public void run(){ ...

2019-04-28 21:36:06 256 5

原创 String,StringBuffer,StringBuilder区别

​string 是只读字符串,即引用堆区中的字符串不能被改变举例: String str ="abc"; str = "bcd";对于str 来说,abc字符串并没有被改变,而是开辟了新的空间——bcd。再把bcd的空间地址赋给了str。所以str打印结果是bcd。但是并不意味着abc的值变了。这是直接赋值的方式,如果通过java传参,调用方法的形式改变str,如: Str...

2019-04-21 21:39:37 140 5

原创 自考总结

一,认真看课本很多东西还是在课本上,所以必须看课本的二,认真做题虽然题海战术,但是多做题还是很好的三,认真答题一不小心审题错了就会导致自己答错题。比如我的数据结构,没有认真审题就会导致挂了...

2019-04-14 21:39:13 142 2

原创 操作系统第二章导图

2019-04-07 21:38:27 520 2

原创 操作系统第一章思维导图

2019-03-31 21:48:06 1411 3

原创 Activity工作流——初识

什么是工作流工作流的好处工作流的几大API

2019-03-24 21:29:42 1293 4

原创 ionic serve启动失败——could not find a binding for your current environment: Windows 64-bit with Node.js

ionic启动出错Error: Missing binding F:\itoo-intern\intern-frontend-mobile\node_modules\node-sass\vendor\win32-x64-64\binding.nodeNode Sass could not find a binding for your current environment: Windows ...

2019-03-09 15:06:26 376 3

原创 java疯狂讲义第六章小理解

1,java8的增强类为什么用到这个增强类为什么进行数据缓存2final修饰符的使用3lambda表达式的理解

2019-02-24 21:32:34 177 2

原创 java疯狂讲义第四章思维导图

2019-02-17 21:33:34 699

原创 过年后的学习

目前,刚刚回来,并没有什么可写的。

2019-02-10 21:23:05 234

原创 2019年年度总结

【计算机】 今年我做了项目,发现自己 进步很大.无论是体测还是考评,我都发现一件事,遇见问题一定不要烦,越烦越不能解决,事情反而会更糟糕。在项目里面遇到问题之后,先要稳定自己,慢慢理清逻辑,自己查,自己想,实在搞不懂了再去问别人。问别人也不要彻底依赖别人,否则依赖是会上瘾的。 这些话听起来空,可是没有亲身体会的人是不会理解的。在做体测项目的时候,我是因为自己本身能...

2019-01-31 17:22:15 298 4

原创 mysql解压后配置

一会补上

2019-01-27 21:34:32 244 6

原创 mybatis---同时执行三条查询

最近因为需要,所以要执行三个mysql查询语句,可是这三个sql语句又很简单.不值得写三个mapper.所以查了一下,发现原来 mybatis是可以同时执行多个sql语句的在数据库连接参数加上allowMultiQueries=true然后在mapper里面,写上sql语句,以;号隔开就可以了...

2019-01-20 21:17:41 853 5

原创 eclipse--jsp默认的解码

一会展示给你们怎么改啊

2019-01-13 21:38:29 209 2

原创 【宜立方】——Eclipse新建JSP页面时没有web文件夹和jsp file选项

情况:最近在使用eclipse的时候,需要新建jsp页面,可是我发现我点击文件夹,右键 new --&gt; other —&gt;jsp的时候发现,没有jsp和jsp所在的web文件夹.解决办法:每个人的eclipse有点不同,我查到的都是和这篇博客一样的操作,大同小异.为没有web选项的eclipse添加web and JavaEE插件我的解决办法:我按照上面的博客发现,和他的不...

2019-01-06 17:29:24 5409 4

原创 获取数组索引值

情况最近用到数组获取索引值,所以想分享一下查到的方法/** * 获取数组元素的索引值 */ getArrIndex = function(arr, obj) { let index = null; const key = Object.keys(obj)[7]; arr.every(function(value, i) { ...

2018-12-23 21:27:45 2072 4

原创 【Serverlet】学习

Serverlet概念1,提供基于协议的请求/响应服务的java类,是java编写的服务器端的程序,主要功能:交互式浏览和修改数据,生成动态的web内容.狭义的概念是指java语言实现的一个接口,Serverlet运行于支持java应用服务器中,从实现角度讲,Serverlet可以响应任何类型的请求,但绝对大多数Serverlet只用来拓展HTTP协议的Web服务器.HTTPServerl...

2018-12-16 21:35:27 401 4

0-1背包问题.rar

01背包问题是动态规划中学习的重要一块,对于01背包问题代码的学习更容易学习动态规划

2019-05-22

空空如也

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

TA关注的人

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