自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 一文打通Java泛型

关于Java中的泛型的一个学习网站:http://angelikalanger.com/GenericsFAQJava中的泛型是在J2SE 5.0中出现的。如中的E叫做类型参数()。而和叫做参数化类型()。

2022-08-13 15:18:04 202 1

原创 leetcode18 四数之和 双指针

leetcode18 四数之和 双指针

2022-08-01 10:43:16 178

原创 leetcode75 颜色分类,荷兰国旗问题

leetcode75 颜色分类 荷兰国旗问题 快排

2022-07-30 09:08:37 292

原创 AQS源码学习

什么是Node以及为什么Node中要有Thread?AQS的排队和唤醒机制是用Node形成的队列实现的只有把Thread放入队列中,才能被唤醒加锁的逻辑(lock()方法)lock方法是在Lock接口中定义的如果自己判断当前线程是不是获取锁的第一个线程,第一个想法就是判断一下当前队列是不是空的,但是源码中不是这样简单判断的。源码为:public final boolean hasQueuedPredecessors() { // The correctness of th

2022-02-17 11:05:13 249

原创 Full GC发生的条件

Full GC的发生条件:Full GC一般来说指的是全堆和方法区的垃圾收集。从大的方面来说,Full GC发生的条件主要可以分为两类。因为对象在自然情况下到达老年代导致的老年代空间不足对象熬过15次垃圾收集,到达晋升到老年代的标准,而晋升到老年代,而老年代的空间不足以放下这些内容,会触发Full GC由于对象动态年龄判定,而晋升到老年代大对象直接进入老年代, 而导致的空间不足空间分配担保, 在进行GC时,最坏的情况是此时Survivor区的对象全部存活着,则to0区和survivor的对

2022-02-08 13:23:55 5922

原创 Android中的Binder机制

目录

2021-12-03 12:47:37 2181

原创 App启动流程

文章目录Android系统启动流程init.cpp(init进程)中做的事情Zygote的启动Android系统启动流程按下电源开机,从ROM的特定位置加载Bootloader到RAM中Bootloader拉起OS执行linux内核启动,设置缓存,加载驱动等。完成内核设置后,首先在系统文件中寻找init.rc文件,启动init进程。init的进程id为1,是在用户空间执行的第一个进程init进程启动。对应的文件是init.cpp,所在位置是system/core/init/init.cppi

2021-12-02 18:15:48 2253

原创 编译原理 词法分析 C++实现

词法分析实验【文法定义】:<标识符>::=<字母>{<字母>|<数字>}//标识符和关键字都不区分大小写,比如if和IF均为关键字,不允许出现与关键字相同的标识符<字母>::=_|a|...|z|A|...|Z<数字>::=0|1|...|9<整数>::=[+|-]<无符号整数><无符号整数>::=<数字>{<数字>}<字符>::='<加法运算符>'|'<乘法运算符>'|'<字母>'|'<数字>'<加法运算符>::=+|-<乘法运算符>::=*|/<字...

2021-10-20 22:26:38 1336 3

原创 Java/Kotlin中的泛型、类型擦除机制、逆变与协变

Java与Kotlin中的泛型类型、类型擦除机制、逆变与协变泛型类型新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入泛型类型Java中的泛泛型是在Jdk1.5时开始出现的,在之前的版本中没有泛型的概念。Java中的泛型是

2021-07-22 10:09:42 130

原创 Android中的缓存机制 LruCache详解

Lru介绍欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入这个类最早出现在Android 3.1中,如果要支持更早版本的Android可以使用v4兼容包。欢迎使用Markdown编辑器你好

2021-07-03 15:32:02 355

原创 JVM学习

JVM类加载子系统在加载阶段,Java虚拟机主要完成以下三件事情:通过一个类的全限定名来获取此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的进行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口类的生命周期加载->链接->初始化链接:验证->准备->解析验证:进行字节码文件的各种验证,比如:文件格式验证(是否以魔数0xCAFEBABE开头)等,元数据验证(这个类是否有父类,是否继承了不

2020-12-22 22:09:13 199 1

原创 foreach循环中为什么不要进行remove/add操作

昨天在看JavaGuide的时候,发现了一个关于foreach循环的一个很有意思的问题。众所周知,不建议在forEach循环中调用add()/remove()方法,阿里巴巴编程规范里面指明了这一点。那么是为什么呢?相信很多人心中会有这个疑问。从下面三段代码来分析这个问题:public static void method1() { List<String> list = new ArrayList<>(); list.add("1");

2020-11-07 23:23:25 491 1

原创 《操作系统》整理

### 5.2调度准则- 周转时间:从进程提交到进程完成的时间段。周转时间是所有时间段之和,包括等待进入内存,在就绪队列中等待,在CPU上执行和I/O执行。- 等待时间:(CPU调度算法并不影响进程运行和执行I/O的时间,它只影响进程在就绪队列中等待所花的时间。)等待时间为在就绪队列中等待所花费时间之和。- 响应时间:从提交请求到产生第一响应的时间。(是开始响应的时间,并不是输出响应所需...

2020-02-11 17:55:20 356

原创 《第12章 最佳的UI体验——Material Design》

为了解决Android平台的界面风格长期难以统一的问题,Google I/O大会推出了一套全新的界面设计语言——Material Design,并且提供了一个Design Support库ToolBar我们之前写的每一个项目都是默认带有ActionBar的,在权限清单中,指定了:<application android:theme="@style/AppTheme"> &l...

2020-02-05 21:05:59 210

原创 《第9章》 总结4 解析JSON格式数据

使用官方提供的JSONObject将返回的json数据放进一个JSONArray中遍历这个Array,得到JSONArray.getJSONObject(i)方法得到每一个JSONObject对象利用JSONObject对象的getString(“id”)方法获取具体的内容public void parseJSONWithJSONObject(String jsonData){ try{...

2020-02-03 11:57:35 87

原创 《第9章 》总结3 解析XML格式数据

首先要安装一个Apache服务器安装完之后,在Apache\htdocs目录下,新建一个名为get_data.xml的文件:<apps> <app> <id>1</id> <name>Google Maps</name> <version>1.0</version> </app...

2020-02-03 11:21:45 149

原创 《第9章 使用HTTP协议访问网络》 总结2 使用HttpURLConnection和OkHttp

HttpURLConnection的使用获取HttpURLConnection对象实例new一个URL 对象 ,传入目标的网络地址:URL url = new URL("https://www.baidu.com");调用URL对象的openConnection()方法:HttpURLConnection connection = (HttpURLConnection)url.open...

2020-02-03 10:07:14 205

原创 《第9章 使用HTTP 协议访问网络》 总结1 使用WebView

9.1 WebView的用法在应用里展示网页:<WebViewandroid:layout_width="match_parent"android:layout_height="match_parent"/>WebView webView = (WebView)findViewById(R.id.web_view);webView.getSettings().setJa...

2020-02-02 21:11:48 140

原创 《第8章 丰富你的应用程序——运用手机多媒体》 总结1 调用摄像头

8.3.1 调用摄像头拍照先创建一个File对象实例,用于存储拍照后的图片: File outputImage = new File(getExternalCacheDir(),"out_putimage.jpg");file(String parent,String child):第一个是目录所在的路径,第二个是要创建的文件名字然后调用outputImage.exists()方法,...

2020-02-02 13:23:25 154

原创 《Git进阶》

忽略文件.gitignore文件查看修改文件git status看修改之处git diff <文件名>撤销未提交的修改git checkout <文件名>如果修改后的文件被add过,不能直接撤销,要先取消添加git reset HEAD <文件名>查看提交记录git loggit log id -1 -pq是退出...

2020-02-01 15:17:10 100

原创 《第7章 跨程序共享数据——探究内容提供器》总结

上节学过的数据持久化方式:文件存储,SharedPreferences存储,都只提供了MODE_PRIVATE一种访问模式,即只能在本程序中访问。在夸程序数据共享方面,安卓官方推荐使用内容提供器技术7.1内容提供器简介内容提供器主要用于在不同程序间共享数据,并且提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同事还能保证被访数据的安全性7.2 运行时权限安卓将权限分为了...

2020-02-01 15:11:29 191

原创 《第6章 数据存储全方案——详解持久化技术》总结

#6.1持久化技术简介

2020-01-30 21:37:07 211

原创 5.6 Git时间——初识版本控制工具

5.6.1安装Gitwindows下访问网址:https://git-for-windows.github.io/下载安装包,下载完成后运行,一直点“下一步”5.6.2创建代码仓库代码仓库是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中。Windows下在开始菜单中找到Git Bash,打开进入命令行首先配置一下你的...

2020-01-30 19:53:40 111

原创 第4章 手机平板要兼顾——探究碎片

4.2.4 碎片和活动之间进行通信1、在活动中获取碎片:(RightFragment) rightFragment = (RightFragment)getSupportFragmentManager().findFragmentById(R.id.right_fragment);先调用getSupportFragmentManager()方法,获取FragmentManager对象,...

2020-01-29 13:45:13 134

原创 大型主机(z/OS系统)编译运行第一个COBOL语言hello world(解决编译时返回码为12问题)

1、创建一个分区数据集**.COBOL.SOURCE存放COBOL源程序,创建时的参数如下所示:注意事项:Record format=FB  Record length=80 Data set name type=PDS2、然后在创建的SOURCE数据集中新建一个member存放COBOL的源代码:注意事项:COBOL代码的每一行都从第8列开始写,每一行结尾和每个标识符都以英文...

2018-12-06 19:59:16 2569

原创 编译原理 非递归实现自上而下语法分析 JAVA实现

目的:熟练掌握自上而下的语法分析方法,并能用程序实现。要求:1. 使用的文法如下:E -&gt;TE ' E -&gt;+ TE '| e T -&gt;FT ' T '-&gt;* FT '| e F -&gt;(E) | id2. 对于任意给定的输入串(词法记号流)进行语法分析,非递归预测分析方法可以任选其一来实现。...

2018-11-21 00:13:33 2276

原创 编译原理递归下降实现语法分析 JAVA实现

目的:熟练掌握自上而下的语法分析方法,并能用程序实现。FIRST(E) = FIRST(T) = FIRST(F) = { ( , id }FIRST(E ') = {+, e}FRIST(T ') = {*, e}FOLLOW(E) = FOLLOW(E ') = { ), $}FOLLOW(T) = FOLLOW (T ') = { +, ), $}FOLLOW(F) ...

2018-11-21 00:02:50 6958 4

原创 编译原理词法分析器 MicroC词法分析器 JAVA实现

题目如下:实验目的:对循环语句和条件判断语句编写词法分析编译程序,只能通过一遍扫描完成。实验要求:关键字:for if then else while do untilintinput output所有关键字都是小写。(2)运算符和分隔符:: = + - * / &lt; &g...

2018-11-20 23:58:11 1230 2

原创 编译原理 语法制导的翻译过程(L属性的翻译方案)实现带括号的整数加减乘除四则运算 JAVA实现

 编译技术第6次上机内容 算术表达式的扩充1. 实验目的充分理解语义分析的方法及相关语义计算的执行时机。掌握LR分析表的设计方法和语义加工程序的扩充。2. 实验要求参照算术表达式LR分析表的设计方法,设计扩充后的算术表达式LR分析表,并对原语义加工程序进行修改,加入新添加的内容。写一段程序,打印出计算结果E。3. 实验内容假设有以下文法:L-&gt;En...

2018-11-20 23:50:21 2751 5

原创 JAVA实现LR分析器

目的:熟练掌握自下而上的语法分析方法,并能用程序实现。要求:1. 使用如下文法:E -&gt;E+T | T T-&gt;T*F | F F -&gt;(E) | id2. 对于任意给定的输入串(词法记号流)进行语法分析,要求采用LR分析器来完成。手工构造LR分析表,利用移进-归约分析算法(P71 图3.12)输出(P72 表3.8)对应的动作部分...

2018-11-20 23:35:32 4487 10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除