自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (46)
  • 收藏
  • 关注

原创 Android内存管理机制官方详解文档

很早之前写过一篇《Android内存管理机制详解》点击量已7万+,现把Google官方文档整理输出一下,供各位参考。一、内存管理概览Android 运行时 (ART) 和 Dalvik 虚拟机使用分页和内存映射来管理内存。这意味着应用修改的任何内存,无论修改的方式是分配新对象还是轻触内存映射的页面,都会一直驻留在 RAM 中,并且无法换出。要从应用中释放内存,只能释放应用保留的对象引用,使内存可供垃圾回收器回收。这种情况有一个例外:对于任何未经修改的内存映射文件(如代码),如果系统想要在其他位置使用其内

2020-12-14 16:29:40 6624 9

原创 Android.bp文件中加入第三方JAR包或者so文件的方法

预制jar包在项目的根目录新建 libs文件夹,放入要导入的jar包比如 testlib.jar新增Android.bp文件在新增的libs文件夹下加入Android.bp文件,新增如下内容java_import { name: "testlib_jar", jars: ["libs/testlib.jar"],}修改模块中的Android.bp需要在android...

2019-11-14 15:04:25 15042 1

原创 git 上传本地文件到github

git 上传本地文件到githubgit config --global user.name "Your Real Name"git config --global user.email you@email.addressgit initgit add .git commit -m 'Test'git remote add origin git@github.com:XXX...

2014-07-17 17:48:55 54911 3

原创 基于ubuntu 下 vim 入门进阶篇之环境和插件的配置2步完美搞定

本文可以帮助你快速从vi新手到vi熟练使用,按照文中的步骤可以使你在1小时之内搞定所有的配置和熟悉vi的基本使用很早之前就接触vi了,但是一直没时间弄插件,也就使用了vi的基本功能,最近经过2天的折腾,终于把vi配置好了,使用的时候非常酷炫屌,给人看的心花怒放,vi果然是神器中的经典!! 现总结如下:先上配置好之后的效果vim 在ubuntu默认自带的,但是自带的有很多不太完善,需要我们自己设定一下,但是很多包没有装完整,于是用sudo apt-get install vim 再TAB键

2013-12-18 09:25:02 24163 9

原创 Android 获取ROOT权限原理解析

一、 概述本文介绍了android中获取root权限的方法以及原理,让大家对android玩家中常说的“越狱”有一个更深层次的认识。 二、 Root的介绍1.       Root 的目的可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等。2.       Root的原理介绍谷歌的a

2013-01-04 09:30:08 65219 19

原创 Android内存管理机制详解

与windows内存区别 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方面,区别于 Windows的内存管理。主要特点是,无论物理内存有多大,Linux都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。而Windows是只在

2012-12-13 10:37:33 79060 8

原创 qwen2.5微调和评估

https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/README_zh.md#lora-微调。使用 Adam-mini 进行全参数训练。opencompass模型评测工具。

2024-11-01 15:08:16 344

原创 GPU训练代码

【代码】GPU训练代码。

2024-09-19 17:05:19 249

原创 GPU推理代码

【代码】GPU推理代码。

2024-09-14 19:45:52 446

原创 多张GPU卡

from transformers import pipelinefrom accelerate import init_empty_weights, infer_auto_device_mapfrom transformers import AutoModelForCausalLM, AutoTokenizerfrom accelerate import Acceleratoraccelerator = Accelerator()tokenizer = AutoTokenizer.from_pretr

2024-09-12 20:15:28 624

原创 linux分割和合并文件命令

【代码】linux分割和合并文件命令。

2024-09-06 19:39:05 394 1

原创 Mac 压缩文件夹下图片命令

【代码】Mac 压缩文件夹下图片命令。

2024-08-09 12:26:53 423

原创 Sklearn实例:水果多分类

acc_scores = [] # 存储每个 k 值对应的准确率。plt.ylabel(“Accuracy”) # Y轴标签。plt.xlabel(“K”) # X轴标签。

2024-07-29 15:08:24 375

原创 QNX抓trace log

一般性能问题分析需要抓取trace 分析。

2024-01-31 20:39:58 621

原创 有意思的逻辑问题:关于AB运动轨迹问题

A始终朝向B,B始终跟A垂直,如果两者速度相等,运动轨迹。// 绘制红点和蓝点之间的连线。// 延迟一段时间后更新下一帧。// 计算红点应该移动的方向。// 计算红点的新位置。// 计算蓝点的新位置。// 红点的起始位置。// 蓝点的起始位置。// 绘制红点和蓝点。

2023-03-24 15:55:59 280 1

原创 Linux挂载新硬盘方法

1,lsblk命令查看没分区的硬盘名,下面看到是sdb没分区2,用如下命令分区parted /dev/sdb //这里的sdb要根据上面的查询结果来写,千万别搞错了,别把安装系统的分区给搞挂了。在parted中,再执行如下2条命令可以创建分区,下面是把所有硬盘空间都分配给一个名为primary的新分区。(parted) mklabel gpt(parted) mkpart primary 0% 100%上面分区完后,就可以用p命令打印分区表信息如下:再输入q命令可以退出parted。......

2022-06-12 09:40:31 1121

原创 Handler标准用法(推荐)

Handler经常会出现泄露问题,原因是handler持有了activity的引用后导致activity无法被回收,如下是推荐使用的标准用法

2021-12-10 11:21:20 2529

原创 java 打包class文件到jar包

jar cvf xxx.jar xxx\其中xxx.jar是生成目标的jar包,xxx\是需要打包class所在的路径。

2021-10-20 12:34:51 755

原创 斐波那契函数

fun fib(n) { if (n < 2) { return n } else { return fib(n - 1) + fib(n - 2) }}var time = System::currentTimeMillis()var result = fib(33)System::out.println(result)System::out.println("cust:" + (System::currentTimeMillis()

2021-10-17 21:05:14 282

原创 Java超简单文件读写之BufferedReader和BufferedWriter

java文件读写方法很多,这里就不一一列举了,这里强烈推荐使用BufferedReader和BufferedWriter对文件的读写操作,只需简单几行即可实现文件的读写,如下:读操作 try { BufferedReader in = new BufferedReader(new FileReader("E:\\data.txt")); String str; while ((str = in.readLine()) != null) { try {

2021-09-17 11:57:13 811

原创 Android 获取Wifi列表详解(包含动态权限申请)

WLAN 扫描流程扫描流程分为三步:为 SCAN_RESULTS_AVAILABLE_ACTION 注册一个广播监听器,系统会在完成扫描请求时调用此监听器,提供其成功/失败状态。对于搭载 Android 10(API 级别 29)及更高版本的设备,系统将针对平台或其他应用在设备上执行的所有完整 WLAN 扫描发送此广播。应用可以使用广播被动监听设备上所有扫描的完成情况,无需发出自己的扫描。使用 WifiManager.startScan() 请求扫描。请务必检查方法的返回状态,因为调用可能因以下任一

2021-09-14 10:20:13 5722 1

原创 Android判断当前是usb充电还是AC充电器充电

众所周知,Android充电模式有两种,一种是插入usb充电,也即连接电脑充电,一种是插入充电器充电,也即(AC充电)这两种模式区别是前者可以被调试或者做一些文件的操作,后者只是单纯的充电。判断这两种模式的方法也很简单,使用如下函数即可: public boolean acCharge(Context context) { try { Intent batteryBroadcast = context.registerReceiver(null, new IntentFilter

2021-09-14 09:53:38 2168

原创 基础知识精讲

现准备对如下知识点进行深度解析,将会有一系列的文章推出:binder底层实现http请求拦截器RecycleView底层线程池sqlite同步volatile关键字hashmap底层service主线程内存泄露abstract工厂模式

2021-09-06 16:47:09 150 1

原创 Windows下nodejs npm版本降级

最近在npm install 的时候遇到一个奇怪的错误,找了很久都没找到原因,错误是:npm ERR! code 1npm ERR! path D:\htz\web\htz_web_app\node_modules\node-sassnpm ERR! command failednpm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuildnpm ERR! gyp info it worked if it ends wi

2021-09-02 22:20:22 8016

原创 Android使用无线adb调试模式

一次连接即可告别adb有线模式使用有线连接手机,执行以下命令:adb tcpip 5555> adb tcpip 5555restarting in TCP mode port: 5555接着执行adb connect (手机ip地址):5555,这时候应该就能连接成功了> adb connect 172.25.64.62:5555connected to 172.25.64.62:5555调试完成之后,输入如下的命令断开连接:> adb disconnect

2021-08-31 17:03:57 680

原创 groovy 替换文件内容代码

在Groovy中文件的操作和替换非常简单,使用如下语句即可瞬间替换文件内容:File testFile = new File(project.getProjectDir(), "/src/main/Test.java".replace("/", File.separator))println("==================")println(testFile.getAbsolutePath())println testFile.getText("utf-8")String aft

2021-08-24 20:36:42 1097

原创 Gradle sync failed: Unable to load class ‘javax.xml.bind.annotation.XmlSchema‘.解决办法

在导入android studio 项目时,可能会遇到如下问题:Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener. at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:86) at org.g

2021-08-21 07:30:18 4942

原创 Android 各版本号对应SDK_INT值(更新到Android S)

其中SDK对应Android版本如下: public static final int BASE = 1; //Android 1.0 public static final int BASE_1_1 = 2; //Android 1.1 public static final int CUPCAKE = 3; //Android 1.5 public static final

2021-07-16 16:45:59 7944

原创 Android保存ArrayList对象到文件

在业务开发中经常会遇到需要保存对象到文件的需求,如下函数是保存ArrayList<HashMap<String, String>>对象到磁盘,并从磁盘读取还原ArrayList<HashMap<String, String>>对象的方法: /** * 保存加密后的数据到本地磁盘 * @param context 上下文 * @param data 需要保存的ArrayList<HashMap<String, String>&g

2021-05-26 11:36:10 951

原创 resource failed to call close

在运行Android项目时,日志中会出现A resource failed to call close告警信息:2021-05-26 11:26:52.564 11386-11401/com.xxx.example W/System: A resource failed to call close. 这是由于文件输入和输出流在调用后没有及时close导致的,需要在调用后手动close掉输入输出流try { FileInputStream fis = new FileInputStream(pa

2021-05-26 11:31:52 40599 1

原创 微信发送消息接口

为了保证用户不受到骚扰,在开发者出现需要主动提醒、通知用户时,才允许开发者在公众平台网站中模版消息库中选择模版,选择后获得模版ID,再根据模版ID向用户主动推送提醒、通知消息。模版消息调用时主要需要模版ID和模版中各参数的赋值内容。请注意:1.模版中参数内容必须以".DATA"结尾,否则视为保留字;2.模版保留符号"{{ }}"具体调用方法第一步:获取模版ID通过在模版消息功能的模版库中使用需要的模版,可以获得模版ID。第二步:请求接口请注意,URL置空,则在发送后,点击模版消息会进入一个空

2021-05-16 21:27:32 4393

原创 windows cmdline 查看 hash/md5/sha1/sha256的方法

windows 查看 hash/md5/sha1/sha256的方法certutil -hashfile 文件 [md5|sha1|sha256]

2021-04-01 14:50:43 1454

原创 android studio groovy gradle 文件遍历方法

import groovy.io.FileType def path = gradle.getGradleUserHomeDir().getAbsolutePath() + "/caches/modules-2/files-2.1/" println "path:" + path def jarList = [] new File(path).eachFileRecurse(FileType.FILES) { file -> if (file.getName

2021-03-29 14:03:39 923

原创 检查 GPU 渲染速度和过度绘制

Android 包含一些设备上的开发者选项,可帮助您直观地查看您的应用可能会在何处遇到界面渲染问题,如执行不必要的渲染工作,或执行长时间的线程和 GPU 操作。本页介绍如何调试 GPU 过度绘制问题以及如何分析 GPU 渲染问题。如需详细了解设备上的开发者选项,包括如何启用它们,请阅读配置设备上的开发者选项。分析 GPU 渲染速度GPU 渲染模式分析工具以滚动直方图的形式直观地显示渲染界面窗口帧所花费的时间(以每帧 16 毫秒的速度作为对比基准)。在性能较低的 GPU 上,可用的填充率(GPU 填充

2020-12-16 19:36:47 827

原创 GAPID: Graphics API Debugger

Git Hub网址GAPID: Graphics API Debugger下载Download the latest version of GAPID here.文档User documentation can be found at gapid.dev目前在维护的工具是AGI,Android GPU InspectorFor Android GPU debugging and profiling, please use AGI which is based on GAPID....

2020-12-16 11:18:26 527

原创 Android刘海屏适配官方指导文档

支持刘海屏刘海屏是指某些设备显示屏上的一个区域延伸到显示面,这样既能为用户提供全面屏体验,又能为设备正面的重要传感器留出空间。Android 在搭载 Android 9(API 级别 28)及更高版本的设备上正式支持刘海屏。请注意,设备制造商也可以选择在搭载 Android 8.1 或更低版本的设备上支持刘海屏。本主题介绍如何实现对带刘海屏的设备的支持,包括如何处理“刘海区域”,即显示面上包含刘海的无边框矩形。在带刘海屏的设备上有什么要求为了确保一致性和应用兼容性,搭载 Android 9 的设备

2020-12-15 13:35:47 500 2

原创 Android高效代码官方优化指南

本文主要介绍了各种微优化,如果将其配合使用,能够提高应用的整体性能;但是,这些更改不太可能对性能产生显著影响。选择正确的算法和数据结构应始终是您的首要任务,但此内容不在本文档的讨论范围内。您应该将本文档中的提示作为编码时的一般做法并养成习惯,从而提高综合代码效率。编写高效代码有两个基本规则:不需要做的工作就不要做。如果可以避免,就不要分配内存。在微优化 Android 应用时,您会遇到的最棘手的问题之一是应用肯定会在多种类型的硬件上运行。不同版本的虚拟机会在不同的处理器上以不同的速度运行。通常并

2020-12-14 13:36:22 391

原创 windows server后台运行jar文件配置方法

使用如下命令保存为run-server.bat@echo offstart xxx-server -jar D:\xxx-server-0.0.1-SNAPSHOT.jarexit找到java.exe路径,复制路径下的javaw.exe(注意不是java.exe),重命名为上面定义的xxx-server双击运行run-server.bat即可运行查看是否运行成功命令:netstat -anot | findstr 8888显示结果如下:TCP 0.0.0.0:8888 .

2020-12-07 23:09:23 2143

原创 Android ART 即时 (JIT) 编译器详解

Android Runtime (ART) 包含一个具备代码分析功能的即时 (JIT) 编译器,该编译器可以在 Android 应用运行时持续提高其性能。JIT 编译器对 Android 运行组件当前的预先 (AOT) 编译器进行了补充,可以提升运行时性能,节省存储空间,加快应用和系统更新速度。相较于 AOT 编译器,JIT 编译器的优势也更为明显,因为在应用自动更新期间或在无线下载 (OTA) 更新期间重新编译应用时,它不会拖慢系统速度。

2020-12-04 15:19:45 3955 1

原创 Android ART详细介绍及配置参数详解

本文从Google Developer 网址摘取整理,让读者可以了解ART的机制,其中包含各种编译选项如verify、quicken、speed和speed-profile含义,以及art和rom的一些常见配置参数。讨论的主题包括:系统映像预编译配置、dex2oat 编译选项,以及如何在 system 分区空间、data 分区空间和性能这三者之间取得平衡。

2020-12-04 14:53:01 4787 1

博信windows和mac版本

包含博信MTalk-client-win-2020.2.9.exe和博信MTalk-client-Mac-2020.2.3.dmg

2021-07-26

Git-2.26.0-64-bit.rar

Git-2.26.0-64-bit.exe windows 64位,原网址下载地址太慢了。。。。 https://github.com/git-for-windows/git/releases/download/v2.26.0.windows.1/Git-2.26.0-64-bit.exe

2020-03-26

Ubuntu 64位 Java最新安装包

Ubuntu 64位 官网上最新Java安装包 下载地址: https://javadl.oracle.com/webapps/download/AutoDL?BundleId=241526_1f5b5a70bf22433b84d0e960903adac8

2020-03-19

bsdiff工具

bsdiff-4.3制作工具,在Linux终端使用,包含操作使用的命令

2019-04-02

win10 64位下载64位python

非常好用!win10 64位下载64位python win7 64位下载64位python

2018-08-21

ubuntu adb tools version 1.0.39

ubuntu adb version 1.0.39-CSDN下载 adb tools 工具下载

2018-05-10

Audacity(音频编辑/录制)快速多轨音频编辑、录制工具

Audacity(音频编辑/录制) Audacity是一个数码音效处理程序,可导入WAV,AIFF,AU,IRCAM,MP3及Ogg Vorbis,并支持大部份常用的工具,如剪裁、贴上、混音、升/降音以及变音特效。内置载波编辑器。 Audacity是一款支持Linux、MacOS以及Windows等多种平台的快速多轨音频编辑、录制工具,支持WAV, AIFF, Ogg和MP3格式音乐文件,提供编辑、混音功能并提供预置效果、插件和无限次反悔操作。audacity.zip是所用的音源修改软件。打开音源后,选 特效--->增幅 调节到可接受程度后导出即可。要避免调节过大导致破音。

2015-11-17

android Contacts源码

android contacts源码,很好的学习参考材料

2015-05-25

Android模块里面增加JNI的方法,调用c代码

通过Java调用C语言的移位方法,设置文件的某一位的二进制位0或者1

2015-04-28

C盘扩充工具

这个工具需要配合http://blog.csdn.net/chaihuasong/article/details/19973017这篇文章中的描述进行分配,非常实用方便

2014-02-26

vim 插件汇总

.vimrc文件如下请参考:http://blog.csdn.net/chaihuasong/article/details/17380685,里面有c,c++,java等开发的插件和taglist和filexplor等功能。

2013-12-17

android数据存储集锦源码

android数据存储集锦源码 欢迎下载运行并查看效果。

2013-08-21

播放特定视频(如手机宣传视频)源码及apk

播放特定视频(如手机宣传视频)源码及apk,视频可以内置,视频播放器指定内置的视频后可以播放该视频

2013-07-03

FTP下载工具FlashFXP(含注册码)

FTP下载工具FlashFXP(含注册码) 中文破解版 亲测有用

2013-05-04

android手机root过程详细说明

这是一份关于android手机root过程的详细文档,按照上面说法一般手机都可以成功root

2012-10-08

google android2.3日历源码农历的实现

google android2.3日历源码农历的实现 给出完美解决方案

2012-04-23

adb-tool android开发工具类

adb tool 很好用的一个工具类,欢迎下载使用

2012-03-28

Google 日历之农历的实现

Google 日历之农历的实现 给出了2种实现方法,本人亲自整理,可以方便大家使用

2012-02-23

android资料

android资料

2012-01-05

android资料

android资料

2012-01-05

文本与unicode码转换小工具

文本与unicode码转换小工具V1.02.02

2011-12-26

android谷歌2.3蓝牙源代码

android2.3蓝牙源码 欢迎下载学习

2011-09-09

android谷歌闹钟源码 android闹钟源码 android闹钟 android源码

原封不动的android2.3闹钟源代码,下载一次,受用一生,欢迎下载学习

2011-08-08

android谷歌日历源码 android日历源码 android 源码

是原封不动的android2.3的源代码,很好,下载一次,受用一生,欢迎下载学习

2011-08-08

ASP.NET MVC Linq to SQL 实现数据库增删改(源代码)ASP.NET MVC Linq to SQL 实现数据库增删改(源代码) ASP.NET MVC 分页控件

ASP.NET MVC Linq to SQL 实现数据库增删改(源代码)ASP.NET MVC Linq to SQL 实现数据库增删改(源代码) ASP.NET MVC 分页控件

2011-03-28

c#三层结构在企业中的应用

c#三层结构在企业中的应用,企业级应用!!

2010-05-12

C#学生学籍管理系统基于sql2000

C#学生学籍管理系统基于sql2000,代码很全面,界面很强大,愿和大家分享

2010-05-12

交换机实用指南 入门教程

交换机实用教程,交换机入门必备的基础知识,分享一下

2009-12-09

显示器测试工具 DisplayX

是测试显示器的一款非常好用的工具,很好,很强大~

2009-12-09

WinRaR 3.80简体中文版

WinRAR 是强大的压缩文件管理器。它提供了 RAR 和 ZIP 文件的完整支持,能解压 7Z、ACE、ARJ、BZ2、CAB、GZ、ISO、JAR、LZH、TAR、UUE、Z 格式文件。WinRAR 的功能包括强力压缩、分卷、加密、自解压模块、备份简易。 这是一个试用版软件。任何人都可以在40天的测试期内使用它。如果你希望在测试过期之后继续使用 WinRAR,你必须购买一个许可。 它没有其它附加的许可费用。除了与创建和发布 RAR 压缩文件或自解压格式压缩文件相关的购买许可成本之外,没有其它附加许可费用。合法的注册用户可以使用他们的 RAR 副本制作发布压缩文件而无须任何附加的 RAR 版税。

2009-12-09

内存检测MemTest 3.8 汉化版

MemTest 是少见的内存检测工具,它不但可以彻底的检测出内存的稳定度,还可同时测试记忆的储存与检索资料的能力,让你可以确实掌控到目前你机器上正在使用的内存到底可不可信赖。

2009-12-09

电池检测BatteryMon

笔记本电池检测(只笔记本实用),检测你本本的电池情况~

2009-12-09

BatteryMon 2.0 Build 1002 汉化版

在购买笔记本电池时,我们常常须要了解是否为厂家原配产品、电池的容量、最长待机时间等。 BatteryMon 以图形化的方式,可以让我们直观的看到电池的各种性能参数。 装入笔记本电池断开外接电源后,运行 BatteryMon 后点击“Start”按钮,在坐标图中可以看到电池电量的下降曲线。 其中纵坐标表示当前所剩电池电量百分比,横坐标表示电池使用时间。在左边的详细信息中,“Total time”表示软件测试出电池充满电时所能使用的最长时间。 一般在 3 小时左右,即表示此电池充电性能还是不错的。

2009-12-09

计算机测试,硬盘检测HDDlife

HDDlife 是一款有能力保护你 PC 硬盘的软件。这款更是为了你的硬盘而 专门设计的。你想更好地保护自己的硬盘,你想更好地保护自己旅行时候 的照片、音乐、影片,你可以选择 HDDlife。好用啊~

2009-12-09

Eclipse快捷键(看过受益匪浅,爽~)

Eclipse快捷键包含了Eclipse下的所有使用快捷按键和使用按键方法,不说多了,实用!

2009-12-09

Java计算器源代码(含注释,调试通过)

Java计算器源代码,包含注释,教你如何布局,思路很清晰,按钮很全面,我在dos和Eclipse下调试均通过,受益匪浅,愿和大家分享~

2009-12-09

软件工程\软件项目计划书

软件工程\软件项目计划书软件工程好用 实用

2009-12-08

Java实例大全(很多例题,调试均通过)

很多经典例题,调试均可以通过,希望可以帮助到你~

2009-12-08

汇编教程,入门教程(教师用ppt)

汇编教程,入门教程,有很强的逻辑性,初学者实用~

2009-12-08

c语言经典程序100例(算法+实现)

算法很基础,但很经典,必须掌握的~把这个掌握了,以后套用其他语言,小菜一碟!愿和大家分享~

2009-12-08

空空如也

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

TA关注的人

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