- 博客(8)
- 收藏
- 关注
原创 今天来说清楚反射到底是什么
反射的实现依赖于java中的Class这个类Class类是一个类,这么说可能有点拗口,实际上它和HashMap,Integer这些常见的类是同样的东西,"Class"就是这个类的类名Class类的定义查看源码可以看到Class这个类的类定义说明,它如果被替换成public final class A<T>,就是定义了A类,这么看就比较好理解Class是类的类名这件事了public final class Class<T> implements java.io.Serial
2021-02-04 16:37:48 177
原创 原地算法的一种实现方式--利用位运算在一个int数据中存储多个数
原地算法原地算法即程序的空间复杂度为O(1),不占用额外空间或仅适用常量级空间,一般的实现方式是边算边改,这里提供一种比较巧妙的做法int首先要理解int的存储形式,在Java中,int是由4个字节组成,存储为一个32位的二进制补码,如int a =5,实际上存储为0000 0000 0000 0000 0000 0000 0000 1111,为了方便记为16进制数0x0000000F,一个16进制数表示4个二进制数位运算位运算即在二进制表示的情况下整体左移(<<)或右移(>&g
2020-12-31 15:23:42 761
原创 遍历数组往HashMap中存放对象时一种比较优雅的写法
在遍历某个list并存放至HashMap中时,一般写法是先判断某个key是否已经存在,再根据情况存入数,经常会把代码写的较复杂,如下:要求 遍历数组nums[],将每个数组出现次数存放至HashMap中代码 int[] nums = {1,2,3,4,4,5,5,1,1,1}; HashMap<Integer,Integer> map = new HashMap<>(); for (int x : nums) {
2020-12-10 13:25:23 1079
原创 通过中断来理解递归
中断学过操作系统这门课的听说应该都知道中断,这边我们不展开去讲它的意义,只讲一下中断的具体执行,来帮助理解递归这个概念直接上百度百科关于中断执行的流程图可以看到,完成一次中断的流程是这样的程序正常运行到某处中断源发出中断请求程序在中断处打一个断点——补充一下,这个是通过栈来实现的,把上下文和一些相关的消息全部压入栈中,并暂时停止执行当前程序响应中断,开始执行中断服务程序执行中断服务程序结束后,返回,从栈中取出上下文信息,从断点处继续执行程序递归说完中断,再来看看递归,这里举一个简单
2020-12-08 22:15:34 848
原创 使用python-moviepy模块分割视频的一个简单实例(附带可直接执行的脚本文件)
如果有python开发环境并能够自己安装好所需第三方包,可以直接使用以下不带图形界面的代码运行def video_cut(file_path, file_path_save, start = 0, end = None): video_data = VideoFileClip(file_path) video_new = video_data.subclip(start, end) video_new.write_videofile(file_path_save) video_data.reade
2020-11-18 05:49:22 937
原创 leetcode刷题经验,深度优先搜索(DFS)模板总结
leetcode上大部分dfs相关的题都可以套用该模板进行解答//深度优先搜索dfsclass Solution { public void dfs(char[][] source,int x,int y){//遍历的对象一般为树节点,图节点,二维数组等,这里以二维数组为例 if (终止条件 || 目标节点已访问) {return;}//符合终止条件或已访问过该节点,退...
2020-04-20 11:03:24 1178 1
原创 JAVA嵌套循环中用break标签退出到指定嵌套层的方法
当循环有多层嵌套时,JAVA提供了一种带标签的break方法来快速中断到指定的嵌套层,代码如下for (int i = 0; i < 2; i++) {//变量为i的循环 read_date://break标签,指向变量为j的循环 for (int j = 0; j < 2; j++) {//变量为j的循环 for (i...
2020-03-26 17:24:05 771
原创 关于JAVA中字符串String的一些理解
关于JAVA中字符串String的一些理解在学习JAVA时,发现JAVA的String字符串与C++的string字符串有比较大的不同,这边记录一下JAVA中String字符串几个比较重要的特性初始化一个letter字符串String letter = "hello";String是一个不可变字符串,是引用对象,这里初始化完成后,内存中new出一块连续的内存块存储“hello”,lette...
2020-03-26 16:09:43 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人