Java多线程wait()用while代码块的理解

多线程wait()判断条件这个地方的逻辑琢磨了挺久的,本意就是拿到锁之后如果条件不满足就等待,感觉用if和while似乎没啥区别

首先是生产者,单独一个线程,和消费者共用一个锁和一个队列,都通过构造方法传入

1.线程里直接死循环持续生产消息,消息体最好不一样,可以弄个随机数,我这里用了微妙时间戳,调用add()方法

2.需要添加一个条件,如果队列已经满了,就不能继续添加了,调用wait()方法等待[……]

Read more

Java之BIO,NIO,AIO

这几个概念不清楚,熟悉一下,转自:Java BIO、NIO、AIO

写在前面

对于Java里面同步异步阻塞非阻塞那些,其实我的理解都只停留在最基础的层面,有一些概念可能还非常模糊。最近由于工作需要准备研究一下netty,查了一下发现-Netty 是一个基于 JAVA NIO 类库的异步通信框架。啥是NIO.. 一脸懵逼,看来不先搞懂这个是没办法进行下去了。看到NIO顺便又了解了一下B[……]

Read more

干货 | 阿里巴巴混沌测试工具ChaosBlade两万字解读

很详细的chaos工具,有空研究下,转自朱小厮的博客

一、前言

ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最佳创意和实践,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具。

Chaosblade 可直接编译运行,cli 命令提示使执行混沌实验更加简单。目前支持的演练场景有操作系统类的 CPU、[……]

Read more

假装自己很懂系列:Java8函数表达式

最近有点迷上Stream,转载一篇Java8的函数表达式学习下,作者在最后

Java Lambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达式的。具体原理放到下一篇。本篇我们首先感受一下使用Lambda表达式带来的便利之处。

Lamb[……]

Read more

Java反射简述

转一篇Java反射基础讲,转载版权在最后

一、回顾:什么是反射?

反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。

Oracle 官方对反射的解释是:

Reflection enables Java code to discover information about the fields, methods[……]

Read more

Jmeter测试Java Request Sampler

为了压测一个Java class方法,jmeter上导入弄了好久,记录一下遇到的坑

整体思路和网上能搜到的基本一样,但网上打包基本都是通过Export或者Build Artifacts来进行打包,这个地方我也折腾了好久,最后直接通过maven来打的包

1:Jmeter里Java request和之前发送kafka消息的地方一样,而此处Classname能够切换成我们的测试类,要想Jmeter能够识[……]

Read more

自定义异常类

Java内置了异常类Throwable,派生出Error类和Exception类

总体上我们根据Javac对异常的处理要求,将异常类分为2类。

非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用tr[……]

Read more

腾讯位置服务多对多距离矩阵

概述

距离矩阵(DistanceMatrix)服务:较原来一对多批量计算来讲,本服务计算能力大幅度提升,可应用于网约车派单、多目的地最优路径智能计算等场景中,支持驾车、步行、骑行多种交通方式,满足不同应用需要。

服务主要特点:
      1. 支持大批量和多种计算方式
        a) 多起点*多目的地矩阵式计算,最高支持25×25矩阵(一次请求计算路面距离625对)
        b) 一对多[……]

Read more

【转】Java动态代理机制

别人用心写的,有兴趣可访问原作者,转自:https://www.cnblogs.com/xiaoluo501395377/p/3383130.html,这篇挺详细的,学习学习

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学[……]

Read more