随笔分类 -  JAVA

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要:本次的项目环境为 SpringBoot 2.0.4, JDK8.0. 服务器环境为CentOS7.0, Nginx的忘了版本. 前言 SpringBoot使用MultiPartFile接收来自表单的file文件,然后进行服务器的上传是一个项目最基本的需求,我以前的项目都是基于SpringMVC框架搭 阅读全文
posted @ 2020-01-15 14:29 那些年的代码 阅读(4148) 评论(0) 推荐(0)
摘要:原子性就是指该操作是不可再分的。java.util.concurrent.atomic中有一组使用无锁算法实现的原子操作类。AtomicInteger、AtomicBoolean、AtomicLong 外还有AtomicReference 。它们分别封装了对整数、整数数组、长整型、长整型数组和普通对 阅读全文
posted @ 2020-01-10 18:38 那些年的代码 阅读(1493) 评论(0) 推荐(0)
摘要:在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如 阅读全文
posted @ 2020-01-10 18:02 那些年的代码 阅读(171) 评论(0) 推荐(0)
摘要:总结 for(;;) 比 while(true) 好 为啥:如下(底层完全不同) “死循环”有两种写法:for(;;)和while(true),两者有啥区别,为啥源码中多数是for( ; ; )这种形式的, 编译前 编译后 while (1); mov eax,1 test eax,eax je f 阅读全文
posted @ 2020-01-10 17:38 那些年的代码 阅读(15314) 评论(1) 推荐(2)
摘要:在笔者想要了解Thrift时候,找到一个博主写的系统间通信技术的架构设计,在了解和学习的过程中遇到很多小问题和基础知识,自己还是不够清楚,就查询和总结下。 因为笔者也都是从网上找的一些资料,好的资料笔者都是自己收敲一遍,这样觉得能够加深下印象,引发更多的思考,毕竟很多时候笔者感觉自己都是七秒的记忆。 阅读全文
posted @ 2020-01-10 16:14 那些年的代码 阅读(328) 评论(0) 推荐(0)
摘要:1.背景: countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下。 2.概念 countDownLatch这个 阅读全文
posted @ 2020-01-10 15:31 那些年的代码 阅读(213) 评论(0) 推荐(0)
摘要:Atomic: Atomic包是java.util.concurrent下的另一个专门为线程安全设计的java的包,包含多个原子性操作的类。基本特性就是在多线程情况下,当多个线程想要同时操作这些类的某些实例方法时,具有排他性,也就是当某个线程在执行某个方法时,不会被其他线程打断,其他线程会在外部等待 阅读全文
posted @ 2020-01-09 18:58 那些年的代码 阅读(891) 评论(0) 推荐(0)
摘要:1、什么是CAS? CAS:Compare and Swap,即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是 阅读全文
posted @ 2020-01-09 18:26 那些年的代码 阅读(321) 评论(0) 推荐(0)
摘要:今天同事突然提出问题说用哪个线程池好,newFixedThreadPool和newCacheThreadPool里选择,说固定大小线程池keepAliveTime=0,线程空闲会立马回收线程从而节约资源,然后另外一个同事说,0是代表永远不回收,我记忆里也是记得0是永久存活,因为网上很多博客啊,资料啊 阅读全文
posted @ 2020-01-09 15:53 那些年的代码 阅读(4558) 评论(0) 推荐(1)
摘要:package threadPoolExecutor;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.T 阅读全文
posted @ 2020-01-09 15:14 那些年的代码 阅读(800) 评论(0) 推荐(0)
摘要:首先我们查看一下ServerEndpoint类源码:@Retention(value = RetentionPolicy.RUNTIME)@Target(value = {ElementType.TYPE})public @interface ServerEndpoint { public Stri 阅读全文
posted @ 2020-01-09 10:18 那些年的代码 阅读(26117) 评论(0) 推荐(0)
摘要:输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据。流是一组有序的数据序列,根据操作的类型,分为输入流和输出流。 程序从输入流读取数据,向输出流写入数据。Java是面向对象的程序语言,每一个数据流都是一个对象,它们提供了各种支持“读入”与“写入”操作的流 阅读全文
posted @ 2020-01-08 17:36 那些年的代码 阅读(10027) 评论(0) 推荐(0)
摘要:Android 是基于 Java 语言编写的,在安卓程序的很多时候会用到有关 I/O 操作,要在 Adroid 中使用 I/O 操作就必须学会 Java 的 I/O 操作。 首先要知道的是,Java 中输入和输出的概念都是对于程序来说的。就是 外部往程序输入,程序向外部输出。外部往程序输入,则程序必 阅读全文
posted @ 2020-01-08 17:30 那些年的代码 阅读(830) 评论(0) 推荐(0)
摘要:request.setCharacterEncoding("utf-8");//设置request编码方式request.getLocalAddr();//获取本地IP,即服务器IPrequest.getLocalName();//获取本地名称,即服务器名称request.getLocalPort( 阅读全文
posted @ 2020-01-07 17:56 那些年的代码 阅读(826) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/yimiyan/p/5992440.html Optional: https://www.cnblogs.com/zhangboyu/p/7580262.html @RequestHeader的使用 //@RequestHeader:获取浏览器头信息: 阅读全文
posted @ 2020-01-07 17:09 那些年的代码 阅读(3312) 评论(0) 推荐(0)
摘要:如下代码: public static void main(String[] args) { // 存储0-9的列表 List<Integer> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add(i); } Syste 阅读全文
posted @ 2020-01-07 17:07 那些年的代码 阅读(19547) 评论(0) 推荐(0)
摘要:1.GZIP压缩 public static byte[] compress(String str, String encoding) { if (str == null || str.length() == 0) { return null; } ByteArrayOutputStream out 阅读全文
posted @ 2020-01-07 11:57 那些年的代码 阅读(24604) 评论(0) 推荐(1)
摘要:Java实现Base64加解密的方式主要有以下四种(推荐度由低到高):1:JDK中的sun.misc套件2:第三方扩展包 bouncy castle3:第三方扩展包 commons codec4:JDK8及更高版本中的 java.util.Base64JDK中的sun.misc套件使用较为麻烦,首次 阅读全文
posted @ 2020-01-07 11:16 那些年的代码 阅读(2421) 评论(0) 推荐(0)
摘要:在Java8之前,最开始使用for i 循环,很老旧,后来有了高级的for each 循环,然后这个跳出本次循环和跳出所有的for循环,都简单,稍微没见过的就是跳出多层for循环。 然后就是Java8出的foreach循环,这个循环里面,break和continue都不管用啦。需要使用return, 阅读全文
posted @ 2020-01-07 11:02 那些年的代码 阅读(14753) 评论(0) 推荐(1)
摘要:java8中跳出循环不能使用break?通过测试发现:对于java8中的特殊写法lamada表达式中,不能使用break,会提示错误;java8中使用return,会跳出当前循环,继续下一次循环,作用类似continue;java8中使用foreach,但是不是lamada表达式写法,可以正常使用b 阅读全文
posted @ 2020-01-06 17:53 那些年的代码 阅读(45076) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 12 下一页