- 现象 在调试环境中,不管是fastJson还是Gson都能将json字符串转成Java对象。但是打出来的release包,却死活不能将json字符串转成Java对象。 偿试 一度怀疑是fastJson或Gson被混淆了,和java对象没有序列化。但是把fastJson和Gson加到proguard-rules.pro文件中,不让它们被混淆。Java对象也实现了序列化,... 现象 在调试环境中,不管是fastJson还是Gson都能将json字符串转成Java对象。但是打出来的release包,却死活不能将json字符串转成Java对象。 偿试 一度怀疑是fastJson或Gson被混淆了,和java对象没有序列化。但是把fastJson和Gson加到proguard-rules.pro文件中,不让它们被混淆。Java对象也实现了序列化,...
- Java与Kotlin互相调用 KotlinTestMe.kt文件: object KotlinTestMe { val sum = {x: Int, y: Int -> x + y}// lamda表达式 } class MyKotlinClass{ fun hello(){ // 在Kotlin中调用Java val s = Main.mySum(Kot... Java与Kotlin互相调用 KotlinTestMe.kt文件: object KotlinTestMe { val sum = {x: Int, y: Int -> x + y}// lamda表达式 } class MyKotlinClass{ fun hello(){ // 在Kotlin中调用Java val s = Main.mySum(Kot...
- 反射机制可以帮助我们在动态运行时,获得任意一个类的所有的构造器、方法、变量。很多主流框架都使用了反射技术.像SSH框架就采用了xml做配置文件+反射技术。 为了更好说明反射技术,我们将利用TestObject类来演示: import java.util.HashMap; public class TestObject { private String myName;... 反射机制可以帮助我们在动态运行时,获得任意一个类的所有的构造器、方法、变量。很多主流框架都使用了反射技术.像SSH框架就采用了xml做配置文件+反射技术。 为了更好说明反射技术,我们将利用TestObject类来演示: import java.util.HashMap; public class TestObject { private String myName;...
- 什么是Hook Hook 是“钩子”的意思,可以在事件传送的过程中截获并监控事件的传输,可以将我们的代码与系统方法进行融合。当这些系统方法被调用时,也会执行我们的代码。面向切面编程的思想(AOP)也是利用这个原理。 Hook 分类 Android有基于Android SDK的Java语言开发和基于Android NDK的Native C/C++语言开发,因此有... 什么是Hook Hook 是“钩子”的意思,可以在事件传送的过程中截获并监控事件的传输,可以将我们的代码与系统方法进行融合。当这些系统方法被调用时,也会执行我们的代码。面向切面编程的思想(AOP)也是利用这个原理。 Hook 分类 Android有基于Android SDK的Java语言开发和基于Android NDK的Native C/C++语言开发,因此有...
- 通过修改SourceSets中的属性,可以指定需要被编译的源文件,不在指定路径下的源文件将会被排除(即不会被编译)。Gradle通过SourceSets实现了Java项目的目录布局定义。 SourceSets默认的目录结构是固定的Java标准项目目录布局结构: android { sourceSets { main { manifest.srcFile 'Andro... 通过修改SourceSets中的属性,可以指定需要被编译的源文件,不在指定路径下的源文件将会被排除(即不会被编译)。Gradle通过SourceSets实现了Java项目的目录布局定义。 SourceSets默认的目录结构是固定的Java标准项目目录布局结构: android { sourceSets { main { manifest.srcFile 'Andro...
- SVN中的目录或文件的状态表示: ?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定 (1)签出 svn checkout 仓库地址 本地存放地址 --username 用户名 --password 密码 1 (2)往本地版本库中添加新的文件 之后才能被提交到线上的版本库 svn add *.so 1 (3)将改动... SVN中的目录或文件的状态表示: ?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定 (1)签出 svn checkout 仓库地址 本地存放地址 --username 用户名 --password 密码 1 (2)往本地版本库中添加新的文件 之后才能被提交到线上的版本库 svn add *.so 1 (3)将改动...
- 一、编程规约 命名风格 抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以Test结尾。布尔类型的变量不要加is前缀。如果模块、接口、类、方法使用了设计模式,应在命名时体现出具体模式。暴露出来的服务一定是接口,内部的实现类用Impl后缀与接口区别。枚举类名建议带上Enum后缀,成员名称全部大写,单词之间用下划线隔开。获取... 一、编程规约 命名风格 抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以Test结尾。布尔类型的变量不要加is前缀。如果模块、接口、类、方法使用了设计模式,应在命名时体现出具体模式。暴露出来的服务一定是接口,内部的实现类用Impl后缀与接口区别。枚举类名建议带上Enum后缀,成员名称全部大写,单词之间用下划线隔开。获取...
- 首先看一下Android系统的层次架构 层次描述应用层(Systeml Apps)系统内置的和非系统级的应用程序都在这一层,都是用Java语言编写的,负责与用户进行直接交互。应用框架层(Java API Framework)为开发应用层的程序提供了所需要的API,这一层也是用Java语言编写的系统运行库层(Native):(1)C/C++程序库 (2)Android运... 首先看一下Android系统的层次架构 层次描述应用层(Systeml Apps)系统内置的和非系统级的应用程序都在这一层,都是用Java语言编写的,负责与用户进行直接交互。应用框架层(Java API Framework)为开发应用层的程序提供了所需要的API,这一层也是用Java语言编写的系统运行库层(Native):(1)C/C++程序库 (2)Android运...
- 先看一个使用arguments对象的例子: function printArgs(){ for(var i = 0;i<arguments.length;i++){ alert(arguments[i]); } } /*function printArgs(kind){ 定义成有参也无所谓,主要是javascript并不严格要求你传入方法的参数数量,有传和... 先看一个使用arguments对象的例子: function printArgs(){ for(var i = 0;i<arguments.length;i++){ alert(arguments[i]); } } /*function printArgs(kind){ 定义成有参也无所谓,主要是javascript并不严格要求你传入方法的参数数量,有传和...
- java web 项目 常用 小工具类 ~~~~ 一 、DateUtil 日期工具类 package com.devframe.common.util; import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util... java web 项目 常用 小工具类 ~~~~ 一 、DateUtil 日期工具类 package com.devframe.common.util; import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util...
- 安全发布对象 错误发布对象: 发布对象:使一个对象能被当前范围之外的代码所使用 ... 安全发布对象 错误发布对象: 发布对象:使一个对象能被当前范围之外的代码所使用 ...
- 强引用 Java中最基本、最常用的就是“强引用",如果存在着对某个对象的强引用,GC时就不会回收该对象。 软引用 “软引用”通过Java类java.lang.ref.SoftReference实现,一般情况下,GC是不会回收“软引用”引用的对象的。只有当系统内存不足时才会回收。“软引用”特别适合用来引用图片资源,仅当系统内存不足时才释放图片资源。 弱引用 “弱... 强引用 Java中最基本、最常用的就是“强引用",如果存在着对某个对象的强引用,GC时就不会回收该对象。 软引用 “软引用”通过Java类java.lang.ref.SoftReference实现,一般情况下,GC是不会回收“软引用”引用的对象的。只有当系统内存不足时才会回收。“软引用”特别适合用来引用图片资源,仅当系统内存不足时才释放图片资源。 弱引用 “弱...
- 这是【从0到1学习Java线程池】系列文章的第 贰 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章介绍了 Java 线程池的原理。 在上一篇文章中(【从0到1学习Java线程池】Java线程池的简介以及使用),我们总结了线程池的3个优点: 线程复用控制最大并发数管理线程 这篇文章会分别从这三个方面,... 这是【从0到1学习Java线程池】系列文章的第 贰 篇,该系列文章总共三篇,介绍了 Java 线程池的使用以及原理,并且最后会实现一个基本的线程池。本篇文章介绍了 Java 线程池的原理。 在上一篇文章中(【从0到1学习Java线程池】Java线程池的简介以及使用),我们总结了线程池的3个优点: 线程复用控制最大并发数管理线程 这篇文章会分别从这三个方面,...
- 线程池 (1)new Thread 弊端 每次new Thred 新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者oom缺少更多功能,如更多执行,定期执行,线程中断 (2)线程池的好处 重在存在的线程,减少对象的创建,消亡的开... 线程池 (1)new Thread 弊端 每次new Thred 新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或者oom缺少更多功能,如更多执行,定期执行,线程中断 (2)线程池的好处 重在存在的线程,减少对象的创建,消亡的开...
- (1)Future 、FutureTask public class FutureExample { static class MyTask implements Callable<String> { @Override public String call() throws Exception { return "10000"; } } public stati... (1)Future 、FutureTask public class FutureExample { static class MyTask implements Callable<String> { @Override public String call() throws Exception { return "10000"; } } public stati...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签