- 博客(494)
- 收藏
- 关注
原创 Vector不清晰点学习&易错点
是一个广义指针它可以是指针,也可以是一个可对其执行类似指针得操作-如解除引用(如operator*())和递增(operator++())STL中每个容器类都定义了一个合适的迭代器,该迭代器的类型是一个名为iterator的typedef,作用域是整个类例如:为vector的double类型规范声明一个迭代器// pd 一个迭代器// pd指向了第一个元素*pd = 22.3;++pd;// 让pd指向下一个元素// 自动推到类型。
2024-09-29 00:00:15
527
原创 IPSec隧道协议学习(一)
机密性完整性(即传输的数据不被修改)验证服务一种开放标准的安全框架结构基于AH、ESP等安全协议的基础上网络层隧道协议。
2024-09-25 23:31:20
783
原创 GRE隧道协议学习笔记
什么叫三层网络协议,在网络层常见的就是下面几种协议,ICMP不认识,IP总认识吧。所以为了安全肯定还得用几种加密技术来进一步匿名化你的信息。
2024-09-22 15:58:08
1348
原创 前端知识积累
CSSOM即(CSS 对象模型)。CSSOM是一种将 CSS 样式表解析为可被 JavaScript 操作的对象结构的模型。它允许 JavaScript 访问和修改 CSS 样式信息,从而实现动态地更改页面的样式。例如,通过CSSOM,可以使用 JavaScript 来获取某个元素的样式属性值、修改样式属性、添加或删除样式规则等。以下是一个简单的示例,展示如何通过CSSOM#myElementcolor。
2024-09-22 15:10:47
461
原创 Android连载46-wpa_supplicant中的P2P(1)
后记:毕业已经五年有余,脱离了语数外物理化很多年,如果现在再让我拿起这些东西,可能读起来用晦涩难懂来形容一点不为过,反而研读历史、地理、政治、金融、法律一些书籍更为得心应手或者说孜孜不倦,这就是所谓兴趣驱动吧,不把它作为任务反而更有动力,但是一旦作为考核的对象,也许就兴趣大减。
2023-07-27 00:01:50
722
原创 Android连载45-WifiService和P2P详解
包含两个阶段:GO negotiation: 协商谁来做GOProvisioning: 借助WSC来交换安全配置信息,此后,GC就可以利用安全信息配置来关联GO协商过程会利用一种名为P2p Public Action类型的帧来交换信息协商的过程,经历三次帧交换,他们之间交换的报文,无需了解,知道了也会忘,知道个过程即可,如果要搞这种,再去详细了解网上偷来的图,三次帧交换的过程,协商。
2023-07-23 17:16:30
632
原创 Android四大组件的启动
四大组件的启动Activity的启动1.startActivity通常使用startActivity函数来启动一个Activitypublic void startActivity(Intent intent) { this.startActivity(intent ,null);}public void startActivity(Intent intent, @Nullable Bundle options) { ... if (options != null) { star
2023-04-10 00:01:32
455
原创 Android四大组件总结
注意点:如果一个组件通过startService() (会有onStartCommand()方法的调用)来启动服务,则该服务将会保持运行状态,直到它停止使用stopSelf()或者另一个组件通过stopService()来停止它;如果一个组件调用bindService()来创建服务(并且不调用onStartCommand()),那么只要该组件绑定了服务,该服务就会运行起来,一旦服务从所有的客户端解除绑定,系统就会销毁它。
2023-03-21 01:11:22
415
原创 Java连载157-try...with...resource
一、使用try…with…resourcepackage com.newJava;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;public class D157_tryWithResource { public static void main(String[] args) { String address = "E:\\d05_gitcode\\Java\\ne
2022-12-11 16:20:12
163
原创 Android连载43-网络管理相关分析
一、常用adb命令// 用于查询网络状态以及网络连接等相关日志adb shell dumpsys connectivity例如:下面是查询我的huawei P20的详情NetworkFactories for: UntrustedWifiNetworkFactory Ethernet TelephonyNetworkFactory[1] WifiNetworkFactory TelephonyNetworkFactory[0] PhoneSwitcherNetworkRequstListener P
2022-12-11 16:19:39
455
原创 C连载28-宏、编译宏、select、epoll函数
define是C语言中的一个宏定义,用来建一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本例如:#define PI 3.1415926 #define A(x) x。
2022-11-22 23:56:18
203
原创 Gradle连载8-构建的应用类型和使用混淆、共享库
每个BuildType还会生成相应的assemble任务,如果常用的assembleRelease和assembleDebug就是Gradle自动生成的两个Task任务,他们是release和debug,这两个BuildType自动创建生成的,执行相应的assemble任务,就能生成对应BuildType的所有apk。新增的BuildTYpe名字,不能是main、androidTest,这两个已经被占用了。每一个BuildTYpe都会生成一个SourceSet,默认位置就是src//...
2022-08-13 00:53:54
307
原创 Gradle连载6-AndroidGradle任务之defaultConfig配置
一、android工程配置buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.4' }}apply plugin: 'com.android.application'android { compileSdkVersion 23 // 还可以写成compileSdkVersion
2022-06-16 00:01:32
900
原创 Gradle连载5-多个构建工程以及android工程配置
一、常用的源集属性apply plugin:'java'sourceSets { main { // 对main SourceSet进行配置 }}task custom65SourceSetTask { sourceSets.all { println "name:" + name println "outputs.getFiles():" + outputs.getFiles() println "out
2022-05-10 08:58:21
339
原创 Gradle连载4-依赖包打包方式
一、apply方法的使用apply plugin:'java'// 上面是一个短名,下面也有一个完整的名字apply plugin:org.gradle.api.plugins.JavaPlugin// 由于org.gradle.api.plugins是默认导入的,所以可以简写为apply plugin:JavaPluginapply from:'version.gradle'task ex52PrintlnTask { println "App版本是:${versionName},
2022-04-29 08:48:29
1419
原创 Gradle连载3-任务的排序启动禁用,only函数以及插件
一、任务排序task ex46OrderTask1 { println 'ex46OrderTask1'}task ex46OrderTask2 { println 'ex46OrderTask2'}ex46OrderTask1.mustRunAfter ex46OrderTask2我们可以从中看出task的执行是有先后顺序的。二、任务的启用和禁用task ex47DisenabledTask { println 'ex47DisenabledTask'
2022-04-23 13:37:32
2038
原创 Gradle连载2-多种方式创建任务
一、闭包委托闭包有thisObject、owner、delegate三个属性,在闭包内调用方法的时候,由他们来确定使用哪个对象呢来进行处理。默认情况下delegate和owner是相等的,当时delegate是可以被修改的,这个功能是非常强大的,Gradle中的闭包很多功能都是通过修改delegate进行实现的。task helloDelegate { new Delegate().test { println "thisObject:${thisObject.getClass
2022-04-16 00:33:10
414
原创 Gradle连载1-闭包
一、闭包委托闭包有thisObject、owner、delegate三个属性,在闭包内调用方法的时候,由他们来确定使用哪个对象呢来进行处理。默认情况下delegate和owner是相等的,当时delegate是可以被修改的,这个功能是非常强大的,Gradle中的闭包很多功能都是通过修改delegate进行实现的。task helloDelegate { new Delegate().test { println "thisObject:${thisObject.getClass
2022-04-10 23:47:08
269
原创 Gradle连载1-闭包
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-04-10 19:59:03
499
原创 Java连载156-IO总结(三)
一、管道流 final PipedOutputStream pps = new PipedOutputStream(); final PipedInputStream pis = new PipedInputStream(pps); new Thread(new Runnable() { public void run() { try { pps.write("厉害了".getBytes(StandardCharsets.UTF_8)); pps.close()
2021-12-27 00:12:47
247
原创 Java连载155-IO总结(二)
一、四种方式分别举例1.FileInputStream InputStream is = null; String address = "E:\\d05_gitcode\\Java\\newJava\\src\\com\\newJava\\newFile.txt"; int b; try { is = new FileInputStream(address); while ((b = is.read()) != -1) { // 可以看出是一个字节一个字节读取的 Sy
2021-12-23 00:43:52
401
原创 Java连载154-IO总结(一)
一、类图基本上IO可以分为字节流和字符流二、字符大小一般来说一个字母占用一个字节,一个汉字占用两个字节。具体还要看字符编码,比如说在 UTF-8 编码下,一个英文字母(不分大小写)为一个字节,一个中文汉字为三个字节;在 Unicode 编码中,一个英文字母为一个字节,一个中文汉字为两个字节。三、常用方法InputStreamint read() 读取数据int read(byte[] b, int off, int length) 从第off个字节开始读取长度为length的字节,
2021-12-22 00:36:23
483
原创 Java连载153-可变参数、多线程状态图
一、可变参数可变参数顾名思义就是,编写一个函数的时候,可以传入一个或者多个参数实际原理:根据传入的参数类型以及个数,创建一个数组,用于存储这些数据,在函数中调用的时候,也可以使用数组的形式调用,下面我们举个例子package com.newJava;public class D152_VariableParameters { public static void main(String[] args) { System.out.println("打印出了"); printString
2021-12-21 00:06:51
238
原创 Java连载152-HashMap中的hash函数有什么用
一、取模运算和取余运算取余运算,这个很好理解,我们经过多年的数学学习也知道,就是求余数,一个整数和另一个整数相除,得到它们的余数,就是我们说的取余取模运算,通俗的来讲大多运算在计算机领域,取模运算其实就是两个二进制数字之间做与运算,它们最后得到的数字就是取模我们举个简单的例子,有一个二进制数字0000 0001 1001 1101,1111 0101 1010 0011,这个两个数字做与运算,它们相同位置的数字,如果有一个数字出现1,那么计算后的数字的那个位置就是1,这两个数字与运算后的值为1111
2021-12-17 00:43:54
840
原创 Java连载151-JUnit简介以及HashMap初步分析
一、配置JUnit环境JUnit是一个集成测试单元框架,我们先下载软件包,来配置环境package com.bjpowernode.java_learning;public class D149_TestJunit { String message = "hello world"; MessageUtil messageUtil = new MessageUtil(message); @Test public void testPrintMessage() { assertEqu
2021-12-16 00:45:00
1180
原创 Java连载150-NIO详解(一)
一、IO原理1.底层原理操作系统在进行IO的时候,实际上并不是即时操作,它们是通过缓冲区的,也就是说,我们读写文件都是通过一个中介来进行的。读系统就是把内核缓存区的内容复制到进程缓冲区;写系统就是把进程缓冲区的内容复制到内核缓存区。之所以这样做的原因是避免大量的IO操作,大量的IO操作效率是很低的。这个过程并不等价于数据在内核缓冲区和磁盘之间的交换。...
2021-12-13 00:13:10
473
原创 Java连载149-集合类小节
一、Collection和Collections之间的区别Collection是一个接口类,是Set和List接口的父接口Collections是一个工具类,是不应该初始化为一个对象,内部含有很多对集合操作的静态方法二、Set和List之间的区别Set和List都是接口,但是各有不同Set是一个无序集合,对于放入的元素是不能重复,可以用于进行去重List是一个有序集合,按照先进先放的原则三、ArrayList\LinkedList\Vector之间的区别ArrayList的底层是一
2021-12-01 00:21:29
1679
原创 Java连载148-Class常量池
一、常量池的分类字符串常量池、Class常量池、运行时常量池编译相关,java代码可以使用javac来进行编译成字节码,然后运行在java虚拟机上,生成字节码在linux机器上可以使用vim来进行打开,如果要以16进制的形式打开,则可以:%!xxd即可字节文件的前几个字符是cafe babe,这是java的魔数使用javap -v HelloWorld.class命令可以查看常量池内容常量池主要存放两种东西:字面量和符号引用二、class常量池有什么用Java代码在进行Javac编译的
2021-11-10 00:33:12
1058
原创 Java连载147-对象存储的地方
异常处理:处理错误异常处理就像是与程序正常执行路径并行的,在错误发生的时候执行的另一条路径,因为它是另一条完全分离的执行路径,所以它不会干扰正常执行的代码客户端编程浏览器的提交动作通过所有的WEB服务器都提供的通用网关接口(common gateway interface,CGI)传递,提交的内容会告诉CGI应该如何处理它,最常见的动作就是运行一个在服务器中常被命名为“cgi-bin"的目录下的一个程序。一切都是对象Java是基于C++开发的对象可能会存储到什么地方寄存器:最快的
2021-08-16 00:17:46
116
原创 Android连载42-复习自定义控件
继承关系所有的控件都直接或者间接继承自ViewView是Android中的一种基本的UI组件,可以在屏幕上绘制一块矩形区域ViewGroup则是一种特殊的View,它可以包含许多的子View和子ViewGroup,是一个用于放置控件和布局的容器....
2021-08-12 00:11:29
95
原创 Java连载146-内存泄漏和容器
内存溢出和内存泄漏的区别内存溢出,就是我们在内存种分配了一块内存区域,但是当我添加了超出内存的数据的时候,就会导致溢出部分,覆盖了其他的内存,影响到了其他数据.内存溢出容易招致黑客攻击,修改未经分配给的内存.内存溢出在C++和C中存在,在Java中基本不存在,如果是堆栈会报OutOfMemory异常;对于数组就会报ArrayOutOfIndex异常.JVM有一系列机制来进行内存的检测等,出现异常会直接抛出内存泄漏是指分配了一段内存,当我们不在使用内存中存储的数据或者对象的时候,没有及时释放掉,导致这块
2021-08-08 23:44:40
162
原创 Java连载145-对象概论总结
一、对象概论总结抽象过程每一个对象看起来都有点像一个微型计算机–它具有状态,还具有操作,用户可以要求对象执行这些操作可以把消息想象为对某个特定对象的方法的调用请求“类”也就是“类型”的同义词对象具有状态、行为和标识每一个对象在内存中都有唯一的地址每个对象都有一个接口面向对象程序设计的挑战之一,就是问题空间的元素和解空间的对象之间创建一对一的映射被隐藏的具体实现public表示紧随其后的元素对任何人都是可用的private表示除了类型创建者和类型的内部方法之外的任何人都不能访问
2021-08-04 00:26:45
90
原创 Android连载41-复习四种基本布局
详解四种基本布局LinearLayout线性布局android:orientation=vertical 垂直排列horizontal 水平排列android:layout_gravity= 用于指定文字在控件中的对齐方式topcenter_verticalbottom注意若orientation是horizontal,那么控件只能是垂直方向上的对齐若orientation是vertical,那么控件只能是水平方向上的对齐android:layout_we
2021-08-03 00:40:30
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人