- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 【Spring】aop的使用示例
场景去饭店吃饭的时候,在进入饭店时门卫会为你开门,并问候说“欢迎光临”,当你吃完离开时,门卫会说“请慢走,欢迎下次光临”。此场景下涉及如下两个角色:顾客(customer):目标对象,来吃饭(eat)门卫(doorkeeper):切面对象,欢迎和欢送(welcome、leave)编写程序1、引入依赖<!-- Spring依赖 --><dependency> <groupId>org.springframework</groupId>
2021-08-17 07:35:06 201
原创 【Java基础】Arrays.sort()使用示例
狗有名字、体重和年龄3个属性:public class Dog { public String name; //名字 public double weight; //体重 public int age; //年龄}根据狗的年龄(age)排升序: Arrays.sort(dogs,(dog1,dog2)->dog1.age-dog2.age)public static void main(String[] args) { Dog[] dogs =
2021-08-15 00:56:21 118
原创 【Java多线程】CompletableFuture的使用示例
刘备、关羽和张飞三兄弟在家吧喝酒,突然发现忘带钱了,于是差下人回去取钱。为了不影响三兄弟喝酒的气氛,刘备吩咐下人钱取来后交给旁边侍候的赵云即可。public static void main(String[] args) throws ExecutionException, InterruptedException { System.out.println("吩咐下人去取钱!"); CompletableFuture<Integer> future = Com
2021-08-13 00:18:29 170
原创 【Java多线程】FutureTask的使用示例
炎热的夏天,一位少侠到客栈吃杯茶,客栈准备茶水有如下两种方式:同步先擦桌子,花费3秒;再准备茶水,花费3秒;共花费6秒!异步擦桌子和准备茶水同时进行,各自花费3秒(两个线程同时执行);共花费3秒!public static void main(String[] args) throws ExecutionException, InterruptedException { long startTime = System.currentTimeMillis(); // 开始
2021-08-12 23:22:31 264
原创 【Java】语法糖
什么是语法糖? 语法糖就是指 java 编译器把 *.java 源码编译为 *.class 字节码的过程中,自动生成和转换的一些代码。有哪些语法糖?默认构造函数:当一个类没有显式的提供构造函数时,编译器会在编译期间自动生成一个无参构造函数。自动拆装箱:基本类型与其包装类型可以自动转换。泛型集合取值可变参数:可变参数会被转换成数组。注意,当可变参数未传入任何参数时,并不是生成null,而是创建了一个空的数组。foreach 循环switch 字符串:字符串会被转为其哈希码,先比较哈希码,在
2021-06-16 19:54:01 85
原创 【日记 2021-05-14】树莓派获取环境亮度(光照度)
什么是亮度?光照度指被照射物体单位面积上所接受可见光的光通量,单位是勒克斯( Lux) 或流明每平方米( lm /m2) ,是用来描述光的亮度的。我们平时最关心的我家灯到底够不够亮,具体数值可以用照度计测量。参考文献:张大勇.室内设计中灯光的明暗搭配[J].北京印刷学院学报,2021,29(01):71-74.环境准备1、GY30模块(BH1750FVI光照度传感器)2、安装python-smbussudo apt-get install python-smbus这个安装会附带安装 i2c
2021-05-14 23:16:30 899 1
原创 【Debugging】树莓派 SSH连接失败解决
问题描述在使用SSH连接时出现如下错误:Remote side unexpectedly closed network connection解决方案修改ssh的配置文件/etc/ssh/sshd_config,将配置项PermitRootLoginwithout-password修改为PermitRootLogin yes,如下图:重启系统注意在连接时也可能遇到问题:Network error: Connection refused这个问题是由于没开启SSH而导致的。...
2021-05-11 20:13:17 9192 2
原创 【Debugging】SpringSecurity iframe 页面不显示
问题描述如下图所示,配置了SpringSecurity后,网页就加载不出来了,多次检查代码都没有问题,折腾了好久!!!解决方案在SpringSecurity的配置类(即继承WebSecurityConfigurerAdapter的类)中加入下面代码即可解决: protected void configure(HttpSecurity http) throws Exception { // 允许iframe嵌套 http.headers().frameOptio
2021-05-09 23:19:30 229 1
原创 【Leetcode 刷题笔记】16. 3Sum Closest
题目方案一:穷举法 o(n^3)class Solution { public int threeSumClosest(int[] nums, int target) { int len = nums.length; int ans = 100001; for(int i=0; i<len; i++){ for(int j=0; j<len; j++){ if(
2021-05-04 18:28:17 123
原创 【日记 2021-05-01】 leetcode练习&& Linux修改文件权限
题目:1335. 工作计划的最低难度题目内容:你需要制定一份 d 天的工作计划表。工作之间存在依赖,要想执行第 i 项工作,你必须完成全部 j 项工作( 0 <= j < i)。你每天 至少 需要完成一项任务。工作计划的总难度是这 d 天每一天的难度之和,而一天的工作难度是当天应该完成工作的最大难度。给你一个整数数组 jobDifficulty 和一个整数 d,分别代表工作难度和需要计划的天数。第 i 项工作的难度是 jobDifficulty[i]。返回整个工作计划的 最小难度 。如果
2021-05-01 22:36:47 137
原创 【深入理解Java虚拟机 笔记】垃圾回收算法
前言 当前垃圾回收集器大多都是遵循分代收集理论进行设计的,先聊聊什么是分代收集:(1)弱分代假说:绝大多数对象都是朝生夕灭的;(2)强分代假说:熬过多次垃圾收集过程的对象就越难消亡;(3)跨代引用假说:跨代引用相对于同代引用来说仅占极少数。 Java堆一般被分为两个区域:新生代和老年代。根据不同区域的垃圾收集,设计了不同的垃圾收集器:(1)新生代收集(Minor GC / Young GC)(2)老年代收集(Major GC / Old GC)(3)混合收集(Mixed GC)(4.
2021-04-21 01:06:09 96
原创 【深入理解Java虚拟机 笔记】Java的类加载过程
类加载的过程如下图所示:一、加载阶段注意:这里的“加载”阶段是整个“类加载”过程的一个阶段,两个词的含义是不一样的。这个阶段主要做3件事:1. 通过类的全限定名获取二进制字节流;2. 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构;3. 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。二、链接阶段验证这一步的目的是为了保证加载进来的字节流符合《Java虚拟机规范》的要求,不会造成安全错误。包括对于文件格式的验
2021-04-16 10:55:42 81 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人