自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 groovy闭包

闭包是 Groovy 中一种特殊的代码块,用{}包裹,可包含参数和执行逻辑,语法格式:groovy// 格式1:无参数闭包{ 代码逻辑 }// 格式2:有参数闭包(参数写在箭头前,多个参数用逗号分隔){ 参数1, 参数2 -> 代码逻辑 }// 格式3:单参数简化(省略参数和箭头,用默认变量 it 指代参数){ 代码逻辑 } // 等价于 { it -> 代码逻辑 }当闭包逻辑复杂时,建议显式声明参数名,替代默认的it,提升可读性:groovy// 反例:嵌套闭包用 it 导致歧义。

2026-01-20 14:50:26 495

原创 groovy 语法

特性脚本模式 (Script Mode)类模式 (Class Mode)核心机制自动生成一个与文件名相同的包围类。直接编译文件中显式定义的类。代码位置代码可以直接写在文件顶层(类外部)。所有代码必须位于class定义内部。入口点隐含的run()方法。显式的方法。主要用途编写独立的、可直接执行的脚本、工具、自动化任务。编写可重用的类、库、大型应用程序的组件。文件命名文件名即脚本类名。文件名通常与其中一个公共类名一致(遵循 Java 习惯)。运行方式(如果有 main 方法)典型错误。

2025-11-21 16:01:14 1315

转载 docker 服务器镜像仓库

Docker私有仓库Docker私有仓库是用于存储和管理Docker镜像的私有存储库。Docker默认会有一个公共的仓库Docker Hub,而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部署在本地云环境中,用于组织内部开发、测试和生产环境中的容器镜像管理。保证数据安全性。Harbor是一个开源的企业级Docker Registry服务,它提供了一个安全、可信赖的仓库来存储和管理Docker镜像。Harbor翻译为中文名称为"庇护;居住;

2025-03-13 18:29:23 380

转载 AIDL源码解析in、out和inout

官网介绍AIDL的时候上有这么一段话大概意思是非默认类型的参数都需要添加指向标签in,out或inout。根据自己的需求去添加,因为实现是有代价的。

2024-12-24 15:47:54 343

转载 android-装饰者模式-context

装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。

2024-06-18 15:52:40 407

转载 android-aidl3

AIDL默认支持一些数据类型,在使用这些数据类型的时候是不需要导包的,但是除了这些类型之外的数据类型,在使用之前必须导包,就算目标文件与当前正在编写的 .aidl 文件在同一个包下——在 Java 中,这种情况是不需要导包的。其实所谓的“服务端”和”客户端”在Binder通讯中是相对的,因为我们在客户端项目中拷贝了aidl文件,所以我们客户端项目其实不仅可以发送消息,充当”Client”,同时我们也可以收到服务端项目推送的消息,从而升级为”Server”,这个功能依赖于AIDL的Stub和Proxy……

2024-06-13 14:51:38 139

转载 android-线程池2

为什么只有一个坑位呢,因为这个公厕是收费的,收费的大爷上年纪了,只能管理一个坑位,多了就管不过来了(线程同步问题)。(1)CachedThreadPool只有非核心线程,最大线程数非常大,所有线程都活动时,会为新任务创建新线程,否则利用空闲线程(60s空闲时间,过了就会被回收,所以线程池中有0个线程的可能)处理任务。(1)从配置参数来看,FixThreadPool只有核心线程,并且数量固定的,也不会被回收,所有线程都活动时,因为队列没有限制大小,新任务会等待执行。因此不需要处理线程同步的问题。

2024-06-06 13:39:25 124

转载 Android之Application和Activity的Context区别

attachBaseContext()方法其实是由系统来调用的,它会把ContextImpl对象作为参数传递到attachBaseContext()方法当中,从而赋值给mBase对象,之后ContextWrapper中的所有方法其实都是通过这种委托的机制交由ContextImpl去具体实现的,所以说ContextImpl是上下文功能的实现类是非常准确的。Activity.this的context是属于当前Activity的,当前Activity摧毁的时候,它就摧毁。

2024-06-03 14:36:31 323

转载 AndroidManifest.xml中android:name

在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication()这个类,方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。android:name属性——是用来设置所有activity属于哪个application的,是用来app启动时来关联一个application的,默认关联的是android.app.Application。

2024-06-03 14:35:51 508

转载 android-handler-2

next()方法开启一个死循环,首先调用nativePollOnce()方法,来判断是否需要进行阻塞操作,当没有消息需要处理、或者还没到消息的处理时间时,则进行休眠操作。Looper中的loop()方法开启死循环,会不断的从消息队列中取出消息(通过调用MessageQueue.next()方法取出消息),然后调用目标Handler(即发送该消息的Handler)的 dispatchMessage()方法分发消息,目标Handler收到消息,调用 handleMessage()方法,接收消息,处理消息。

2024-05-30 13:31:09 199

转载 android-databing

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。所以有了dataBinding我们极大的减轻了Activity所要做的操作,Activity可以更专注于对数据与逻辑的处理,而UI的获取与数据和UI的绑定都交给了布局文件。然后打印日志查看运行效果。

2024-05-27 10:09:38 266

转载 android进阶-java反射

一个类中有属性,方法,构造器等,比如说 有一个Person类,一个Order类,一个Book类,这些都是不同的类,现在需要一个类,用来描述类,这就是 Class,它应该有类名,属性,方法,构造器等。②先通过Class对象获取指定的Constructor对象,再调用Constructor对象的newInstance()方法来创建实例。Method getDeclaredMethod(String name, Class[] params) 使用特写的参数类型,获得类声明的命名的方法。

2024-05-21 16:45:16 216

转载 同步、异步、阻塞、非阻塞

简单点说:阻塞就是干不完不准回来,   非组赛就是你先干,我现看看有其他事没有,完了告诉我一声我们拿最常用的send和recv两个函数来说吧... 比如你调用send函数发送一定的Byte,在系统内部send做的工作其实只是把数据传输(Copy)到TCP/IP协议栈的输出缓冲区,它执行成功并不代表数据已经成功的发送出去了,如果TCP/IP协议栈没有足够的可用缓冲区来保存你C

2015-04-14 17:20:14 603

转载 c++ 常用库

非常惭愧,我过去也仅仅了解boost、STLport这样的库,以及一些GUI库,但是居然有如此众多的C++库,其实令我惊讶。当然,这个问题应该辩证的看,对于拿来主义确实可以直接使用这些库,但是如果学习和专业的开发,确实应该自己写,因为——适合的才是最好的。无论效率还是简洁性都是自己开发的好,否则还要那么多程序员干什么。程序就像做衣服,需要量身定做,拼凑起来的,一定不会好用,不过借鉴也是必须的,可以

2015-04-14 13:31:04 792

转载 c++ auto

C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。1. 自动类型推断    auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推断,可以大大简化我们的编程工作。下面是一些使用auto的例子。

2015-04-14 11:39:37 2013

转载 QT4.7.3安装mysql5.5系类驱动

最近由于要做一个软件,不得不又重新捡起放弃已经很久的QT,才发现版本更新的这么快。。。都到了4.7.3了在连接MYsql数据库的时候出问题了。没有驱动,Baidu了一下,又看了文档说明,原来是其他由于权限的问题,只给出了部分数据库的驱动(只有sqlite)其他的驱动只给出了源文件还有文档说明,需要自己编译,晕死,文档全是英文的,不太喜欢,没办法,边百度边看文档终于解决了问题,还是把这些东西贴出

2015-04-08 16:55:58 721

转载 面试10大问题

一、为什么想辞去先前的工作通常,这类问题是一定会被问及的,而且会是一个主要的问题,招聘单位能从中获取很多关于你的信息。因此,在回答这个问题时应该集中精力。像单位撤消、上班路途太远、专业不对口、搬家、结婚、生病休假等等人们都可以理解的因素,是尽可以如实道来的。可是,有些因素,谈起来就要很慎重了。比如:人际关系复杂,现代企业讲求团队精神,要求所有成员都能有与别人合作的能力;收入太低,这样回答会使对

2015-03-18 22:01:41 715

转载 SQL语句手册

转:http://blog.youkuaiyun.com/web_gus/article/details/132122

2015-03-15 15:51:26 639

转载 软件开发文档总集

目录第一部分 软件开发文档……………第2页一:软件需求说明书………………………………………………………..第2页二:概要设计规格说明书……………………………………………………………第3页三 :详细设计规格说明书……………………………………………….第4页四:模块开发卷宗………………………………………………第5页第二部分 软件管理文档……………第7页一:可行性研究报告……

2015-02-09 10:03:05 3668

转载 Android开发环境搭建--新手必看

在开始Android开发之旅启动之前,首先要搭建环境 。打包下载开发环境所需软件http://pan.baidu.com/share/link?shareid=521417&uk=3206814945 1、jdk安装如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。 安装完成之后,可以

2015-02-05 17:25:20 462

转载 16进制字符串CString 如何转为 BYTE[]

方法一:转自:http://hi.baidu.com/jetqu2003/blog/item/fef7f7e98e834739b90e2d15.html需求:16进制字符串CString 如何转为 BYTE[]CString str ="01 02 03 04";BYTE cmd[1024];赋值后cmd[1024] = {0X01,0X02,0X03,0X04};

2015-01-29 13:54:31 1493

转载 MFC TCP客户端

继上一篇有关服务器的网络编程,这里继续探讨客户端如何发出连接服务器的请求,如何与服务器进行数据传输,如何与其他客户端交换数据,最后如何断开与服务器之间的连接。关键技术就是TCP/IP协议,socket默认使用的是非阻塞式异步传输通讯方式,对应MFC中的CSoket类,采用的是面向连接的TCP协议而不是UDP协议。工具/原料Vi

2015-01-29 09:38:42 2486

转载 MFC TCP服务器

Windows程序开发中,如果涉及到网络编程的话,一般少不了socket,socket作为应用层与传输层之间的一个抽象层,可以理解为应用程序与网络协议之间的编程接口。我曾通过MFC开发了一个简单C/S(客户端/服务器)模式的应用程序,主要是为了实现手机控制电脑,android网络编程也可以通过socket实现,这里以PC端编写服务器程序和客户端程序为例说明socket编程的一般步骤。

2015-01-29 09:36:34 3457

转载 STL 可用在MFC中,与QT的QMap类似

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有

2015-01-28 17:03:44 880

转载 MFC 打印调试的三种方法

在调试MFC程序时,我们经常需要查看特定位置变量的输出值。或者在某特定条件执行时,给出一个输出标识。一般来说,有3种方法:1) 调用TRACE(LPCTSTR lpszFormat, ...)函数    在MFC中使用TRACE函数来打印输出结果却是非常方便,和在控制台程序中使用printf函数的使用方法和效果类似。不过有几点      需要注意:一,TRACE函数

2015-01-27 15:10:04 934

转载 回调函数

对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。   什么是回调函数?  简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。  为什

2015-01-26 09:44:34 461

转载 指针函数与函数指针的区别

from:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表

2015-01-26 09:37:11 404

转载 Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并

from:http://hi.baidu.com/mvp_xuan/blog/item/2ba062d8cd2c9fc939012fae.html   关于linux上建库等操作请看文章:       http://hi.baidu.com/mvp_xuan/blog/item/30f5b700a832f0261d9583ad.html       http://hi.ba

2015-01-22 15:52:35 681

转载 多线程服务器建立

FORM:http://www.dushibaiyu.com/2013/12/qtcpserver%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%AE%9E%E7%8E%B0.html目的:每个客户端连接的tcpSocket分别分配一个专门的线程来处理。实现时分别继承QTcpServer和QTcpScoket实现出自己需要的类。继承QTcpServer为每个客

2015-01-22 15:38:37 864

platform-tools_adb.zip

adb 版本为1.0.4.0 linux ,直接使用,放在linux的环境变量中就可以了

2019-12-09

空空如也

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

TA关注的人

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