Amadeus's Studio.

Amadeus's Studio.

吾行走于人间,一切都只是梦的延续或消逝……

java lambda表达式
Lambda表达式:引入函数式编程的风格,不是所有的引用数据类型都可以使用lambda表达式只有SAM接口(函数式接口)类型的形参,变量才可以赋值为Lambda表达式。函数式接口:SAM(Single Abstract Method)表示该接口只有一个抽象方法的接口。当然这个接口可以有默认方法和静态方法等成员。如Runable、Comparable, Iterable、reflect、FileFilter JDK1.8建议,这样的接口加一个注解标记@FunctionalInterface 一、消费型接口 , 特点:有参无返回值1、最基本的代表: Consumer : void acce...
Java集合,泛型,spring注解、事务的一些问题
java 集合类之间的继承关系Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口。代表了两种不同的数据结构:集合和映射表。 图中,ArrayList,HashSet,LinkedList,TreeSet是我们经常会有用到的已实现的集合类。 Map实现类用于保存具有映射关系的数据。Map保存的每项数据都是key-value对,也就是由key和value两个值组成。Map里的key是不可重复的,key用户标识集合里的每项数据。 迭代器的作用由于Java中数据容器众多,而对数据容器的操作在很多时候都具有极大的共性,于...
Java并发-AQS-ReentrantLock
前言在synchronized未优化之前,我们在编码中使用最多的同步工具类应该是ReentrantLock类,ReentrantLock拥有优化后synchronized关键字的性能,又提供了更多的灵活性。相比synchronized,他在功能上更加强大,具有等待可中断,公平锁以及绑定多个条件等synchronized不具备的功能。 ReentrantLock 与AQS(AbstractQueuedSynchronizer)的关系在使用ReentrantLock 类时,第一步实例化 new ReentrantLock(),他的实例化源码 1234567public ReentrantLo...
二叉树算法题
二叉搜索树(BST)又称二叉查找树或二叉排序树。若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索 问题:已知一个搜索二叉树,后序遍历的数组posArr,请根据posArr,重建出整棵数,返回新建树的头节点例如 数组posArr= [2,4,3,6,7,8,5],建出二叉树: 12345678910111213141516171819202122232425262728293031323334353637383940414243public class PosArrayToBST ...
计算机缓存的替换策略(算法)
目前替换策略有四种算法: 随机算法双向链表python实现123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103class Node: def __init__(self, key, value): self.key = ke...
初识Netty
I/O 模型基本说明1、I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能 2、Java共支持3种网络编程模型/IO模式:BIO、NIO、AIO BIO3、Java BIO : 同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销 BIO流程: 1)服务器端启动一个ServerSocket 2)客户端启动Socket对服务器进行通信,默认情况下服务器端需要对每个客户 建立一个线程与之通讯 3)客户端发出请求后, 先咨询服务器是否有线...
MyBatisPlus入门
快速入门使用第三方组件:1、导入对应的依赖2、研究依赖如何配置3、代码如何编写4、提高扩展技术能力1步骤 1、创建数据库,2、创建数据表,3、编写项目,初始化项目,4、导入依赖,注意不要同时导入Mybatis和MyBatis-plus引入 spring-boot-starter、spring-boot-starter-test、mybatis-plus-boot-starter、lombok、h2 依赖:1234567891011121314151617<!-- lombok --><dependency> <groupId>org.projectl...
Java常见面试题
================================ 设计模式分为:创建型模式(单例、工厂、抽象工厂)、结构型模式(代理、组合、装饰)、行为型模式(策略、模板方法、迭代器)================================问:请解释一下对象的创建过程?(半初始化) 答:1、申请内存,给对象里的成员变量设为默认值(半初始化),2、调用对象的构造方法,再给对象里的成员变量设初始值,3、将变量名与对象进行关联 =============================== DCL(Double Check Lock)单例 12345678910111213class...
理解Go位运算符
假定A = 14, B = 11,转换为二进制:A = 1110, B = 1011。 A 1 1 1 0 B 1 0 1 1 A&B 1 0 1 0 A\ B 1 1 1 1 A^B 0 1 0 1 A&B 转换为十进制等于10;A|B 转换为十进制等于15;A^B 转换为十进制等于5;& 是求与,两个数都为1才为1,其余情况为0;| 是求或,两个数都为0才为0,其余情况为1;^ 是求异,两个数相同时为0,不同时为1;还有 << 左移运算,将数字的二进制左移n位,或是将数字的十进制乘以2的n次方,由”<<...
MongoDB删除重复数据和唯一索引
MongoDB 版本V4.0.9 删除MongoDB删除重复数据12db.CompanyId.aggregate([{$group:{ _id:{'pid':'$pid'},count:{$sum: 1},dups: {$addToSet: '$_id'}}}, {$match: {count: {$gt: 1}}}]).forEach(function(doc) ...
avatar
Amadeus
witness me
FRIENDS
friendA friendB