2 east123321

尚未进行身份认证

暂无相关描述

等级
TA的排名 5w+

Java之三种并发工具类

一、概述Semaphore:信号量信号量是对锁的扩展,无论是ReentrantLock或synchronized,一次都只允许一个线程访问一个临界资源,信号量可以允许多个线程同时访问一个资源。可以理解为限流的工具。CountDownLatch:倒计时器通常用来控制线程等待,和Object.wait()和Object.notify()有点像。它可以让某一个线程等待知道倒计时结束,再开始执行。...

2018-12-13 15:41:38

Java并发包总结(JUC)

一、对java.util.concurrent包中常用的工具,类等进行一个大概的总结二、概述Java目前已成为当下最流行的服务端编程语言,熟悉和了解基于Java的并行程序开发有着重要的实用价值。三、常用JUC总结按照api分:按照功能点分:四、详细的各个api的使用以及源码分析。。。未完待续...

2018-12-03 17:02:08

输入一个链表,反转链表后,输出新链表的表头

输入一个链表,反转链表后,输出新链表的表头思路:链表的反转等价于反转链表的指针,只要把原链表中的指针反转,便是链表的反转比如原链表中head指向head.next,先把head.next保存起来(不然改变head的指向后,原链表会断开,找不到下一个节点),然后改变head指向result(新建节点),再用result表示新链表的表头1>2>3>41(result)...

2018-10-30 16:29:32

SpringBoot集成Redis及使用总结

一、Centos下安装Redis1、下载安装包到/usr/localwgethttp://download.redis.io/releases/redis-4.0.2.tar.gz2、解压及安装tarxzfredis-4.0.2.tar.gzcdredis-4.0.2makemakeinstall二、Redis常用指令redis-server启动redis服务器...

2018-10-11 10:28:27

Java之集合框架总结

一、定义Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象。在java.util包中二、框架图三、总结1、集合框架主要分为两个接口:Collection和Map2、Collection接口实Iterable接口,凡是实现了Iterable接口,都可以使用迭代器或增强for循环(foreach)来进行遍历3、List接口L...

2018-09-17 17:01:18

多线程之中断线程

1、线程在运行过程中,有些时候可能需要中断一些阻塞的线程,类Thread中提供了几种中断线程的方法,其中Thread.suspend()和Thread.stop()方法已经过时了,因为这两个方法是不安全的,如果线程突然停掉,线程持有的锁会永远的休眠,迟迟不归还锁,可能会产生死锁等等。所以以上两种方法不能使用,继而Thread.resume()也不能使用。具体可产开JavaAPI手册。2、中...

2018-09-14 18:35:56

多线程之线程间通信

一、概述多个线程并发执行时,CPU是随机切换线程的,是无序的,当我们需要用多个线程来共同完成一个操作,就需要某种通信机制来协调线程,如果没有协调通信的机制,会造成多个线程对共享资源的争夺,会造成严重的数据污染问题。比如说现在共有5个苹果,A拿走5个同时B放进去3个,那么此时剩余的苹果可能是0、3、8,这就是线程间不通信造成的。二、线程间的通信方式1、synchronized对象锁...

2018-09-07 16:24:46

springcloud之Feign、ribbon设置超时时间和重试机制的总结

一、Feign设置超时时间使用Feign调用接口分两层,ribbon的调用和hystrix的调用,所以ribbon的超时时间和Hystrix的超时时间的结合就是Feign的超时时间#hystrix的超时时间hystrix:command:default:execution:timeout:...

2018-09-04 17:23:11

springcloud之Hystrix

一、概述各个服务之间可以相互调用(rpc),服务之间具有依赖性,由于网络或自身的原因,当某个服务出现问题,该服务一定会出现请求超时,线程阻塞等问题,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。Hystrix可以解决雪崩问题1、资源隔离:包括线程...

2018-09-03 17:49:08

springcloud之服务客户端之间的调用Feign

一、概述Rest和Feign都可以实现对客户端的调用Feign是一个声明式的WebService客户端,它使得编写WebSerivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。二、实现maven依赖:(在实现了eureka的基础上) <dependency> <groupId>org.spring...

2018-08-30 17:47:08

springcloud之服务注册与发现

一、概述微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。每个任务代表着一个小的业务能力。就相当与把一个大的应用拆分成许多小的应用,各个小应用之间可以相互调用,相互配合完成任务。为了使服务便于管理,便需要eureka。eureka-server是服务注册中心...

2018-08-30 17:23:41

Java小知识点备忘录

1、Map和JSON的相互转化Map<String,String>map=newHashMap<>();map.put("username","tom");map.put("age","15"); Stringstr=JSON.toJSONString(map);//map转JsonMapmap1=JSON.parseObject

2018-08-10 09:44:39

mysql:使用union合并查询时出现了两条一样的数据

union和unionall可以进行多表之间的合并查询,前提是多表都有想同的属性。selecta,bfromAunionallselecta,bfromBunionallselecta,bfromC在springboot中使用Jpa查询时,为了使合并查询到的数据便于使用,会把查询到的数据自动转化为我们所需要的对象。当出现查询的数据中有重复的,...

2018-08-09 14:56:49

java 反射机制

一、概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。二、反射的使用1、获取class的三种方式//第一种Manman1=newMan();Classclass1=man1.getClass();//第二...

2018-08-03 09:56:35

spring mvc使用@ResponseBody报错No converter found for return value of **

SSH框架中,在controller中用@ResponseBody返回对象给前端时,报错500:Noconverterfoundforreturnvalueof**解决方案:1、添加jackson的jar包jackson-databind.jarjackson-core.jarjackson-annotations.jar2、添加好jar包运行Tomcat,可...

2018-07-28 11:28:49

springboot之乐观锁和悲观锁

适用场景:悲观锁:比较适合写入操作比较频繁的场景,如果出现大量的读取操作,每次读取的时候都会进行加锁,这样会增加大量的锁的开销,降低了系统的吞吐量。乐观锁:比较适合读取操作比较频繁的场景,如果出现大量的写入操作,数据发生冲突的可能性就会增大,为了保证数据的一致性,应用层需要不断的重新获取数据,这样会增加大量的查询操作,降低了系统的吞吐量。总结:两种所各有优缺点,读取频繁使用乐观锁,写入...

2018-07-18 10:03:38

springboot之多个filter的执行顺序以及配置

当项目中有多个filter时,为了便于管理,可以创建一个配置文件,对所有的filter进行管理。有的方法可能同时需要多个filter依次对其进行过滤,这时候便需要对filter的执行进行优先级的排序。如下:新建一个配置文件ComponentFilterOrderConfig.java先生成一个过滤器的bean,再把过滤器的bean注入到FilterRegistrationBean中,并设置一些属性...

2018-06-29 14:49:59

Java-时间日期之间的转化

一、获取当前时间 SimpleDateFormatsimpleDateFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Longtime=System.currentTimeMillis();//当前时间单位是毫秒二、毫秒转化为日期                Datedate1=newDate(time); Syste...

2018-06-26 15:36:50

Could not write JSON: Infinite recursion (StackOverflowError);

在controller返回数据到统一json转换的时候,出现了jsoninfiniterecursionstackoverflowerror的错误,即json在将对象转换为json格式的数据的时候,出现了无限递归调用的情况。具体的情况如下:A类中,有个属性:List<B>b,A与B的关系为OneToMany;在B类中,有属性Aa,引用到A中的字段id,并作为外键。hibe...

2018-05-24 15:32:13

JavaScript 用ajax传递参数到后台

前端:</style><scripttype="text/javascript">varvalidateNum;functionvalidateButton(){if(validateNum!=null){if(document.getElementById("validateNum")....

2018-05-22 10:43:53

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!