Java-反射
反射概述 Java反射机制: 是指在运行时去获取一个类的变量和方法信息。 然后通过获取的信息来创建对象,调用方法的一种机制。 由于这种<动态性>,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。 获取Class类的对象 案例: //Student类 public cla ...
Java基础语法:类型转换、变量、常量
Java基础语法:类型转换、变量、常量 类型转换 低 >高 byte,short,char->int->long->float->double 从高到低:强制转换 从低到高:自动转换 注意点:1. 不能对布尔型进行转换; 2. 在把高容量转换成低容量的时候,强制转换; 3. 转换的时候可能存在内存溢 ...
CountDownLatch的使用
1.概述 CountDownLatch就是一个或者一组线程在开始执行操作之前,必须要等到其他线程执行完才可以。我们举一个例子来说明,在考试的时候,老师必须要等到所有人交了试卷才可以走。此时老师就相当于等待线程,而学生就好比是执行的线程。 注意:java中还有一个同步工具类叫做CyclicBarrie ...
98%的程序员,都没有研究过JVM重排序和顺序一致性
文章整理自 博学谷狂野架构师 重排序 数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: | 名称 | 代码示例 | 说明 | | | | | | 写后读 | a = 1;b = a; | 写一个变量之后,再读这个位置。 ...
Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径
Java 优化:读取配置文件 "万能方式" 跨平台,动态获取文件的绝对路径 每博一文案 往事不会像烟雾似的飘散,将永远像铅一般沉重地浇铸在心灵的深处。 不过,日常生活的纷繁不会让人专注地沉湎于自己的痛苦 不幸,即使人的心灵伤痕累累,也还得要去为现实中的生存和发展而挣扎。 —————— 《平凡世界》 ...
偏向锁 10 连问,被问懵圈了。。
前言 对于Hotpot JVM中的偏向锁,大部分开发者都比较熟悉或者至少听说过。那我们用下面10个关于偏向锁的进阶问题,检验一下自己离精通还有多远。 如何判断当前锁对象为偏向锁 偏向锁如何判断锁重入 当代码运行至synchronized修饰的代码块时,符合什么条件才会尝试获取偏向锁 线程进入偏向锁后 ...
Java的Lambda表达式总结-JDK1.8
前言: lambda是一个匿名函数 ()里的表示参数 {}里的表示方法体 -> 表示lambda运算符 常用的表达式如下: 一、groupingBy用法 目的:数据库(想把相同的合并到一起) 代码示例: //1.分页查询,通过重点任务主题、重点事项、重点负责人或任务的开始时间、结束时间 List<I ...
读Java实战(第二版)笔记17_反应式编程
1. 再次出现在聚光灯下的原因 1.1. 基本思想已经有二三十年的历史 1.2. 大数据 1.2.1. 以PB计量的大数据 1.2.2. 当前互联网中流量最大的部分是移动流量 1.2.3. 物联网(Internet of things, IoT)流量取代移动流量成为互联网流量的主流,这种情况还会进一 ...
JUC学习-线程池部分
自定义线程池 package com.appletree24; import java.util.ArrayDeque; import java.util.Deque; import java.util.HashSet; import java.util.concurrent.ExecutionEx ...
Java+Jquer实现趋势图
这一篇主要介绍的是电商网站的统计功能,后台使用的是Java语言,springMvc框架结合前端Jquer,前端趋势展示组件使用的是百度开源框架Echarts,这个应该大家或多或少的都有了解过,下面我结合实际项目案例给大家看下项目中是如何实现的。 一、前端页面到百度下载趋势图echarts.js插件, ...
来一波骚操作,Java内存模型
文章整理自 博学谷狂野架构师 什么是JMM 并发编程领域的关键问题 线程之间的通信 线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信,典型的共 ...
读Java实战(第二版)笔记16_组合式异步编程
1. 同步API 1.1. 阻塞式调用 1.2. 调用了某个方法,调用方在被调用方执行的过程中会等待,被调用方执行结束返回,调用方取得被调用方的返回值并继续运行 2. 异步API 2.1. 非阻塞式调用 2.2. 会直接返回,或者至少在被调用方计算完成之前,将它剩余的计算任务交由另一个线程去做 2. ...