- 博客(54)
- 问答 (1)
- 收藏
- 关注
原创 计网学习(六)——应用层
万维网www (World Wide Web)并非某种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所,英文简称为Web。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点(也就是所谓的“链接到另一个站点”),从而主动地按需获取站点的文档等数据信息万维网上的文档主要为超文本文档和超媒体文档万维网使用统一资源定位符 URL来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符URL万维网使用超文本传送协议HTTP来实现万维网上的各种链接万维网使用。
2024-08-07 13:48:22 837
原创 计网学习(一)——计算机网络概述
应用层:应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则运输层:运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务网络层:网络层负贵为分组交换网上的不同主机提供通信服务数据链路层:物理层。
2024-08-07 13:47:27 1004
原创 计网学习(五)——运输层
运输层作用:从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务从运输层的角度看,通信的真正端点并不是主机而是主机中的进程网络层和运输层有明显的区别:网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信运输层有两种不同的运输协议:面向连接的TCP和无连接的UDP两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元TPDU端口:又称协议端口号,属于运输层,用于标识不同网络应用程序或服务的一种机制。
2024-08-07 13:47:09 789
原创 计网学习(四)——网络层
第二跳路由器将数据包重新封装在数据帧中,设置目标 MAC 地址为下一跳路由器或目的主机的 MAC 地址,源 MAC 地址为自己的 MAC 地址,然后将帧转发给下一跳路由器或目的主机。第一跳路由器将数据包重新封装在数据帧中,设置目标 MAC 地址为下一跳路由器的 MAC 地址,源 MAC 地址为自己的 MAC 地址,然后将帧转发给下一跳路由器。主机 A 将 IP 数据包封装在数据帧中,同时设置目标 MAC 地址为第一跳路由器的 MAC 地址,源 MAC 地址为主机 A 的 MAC 地址。
2024-08-07 13:46:51 853
原创 计网学习(三)——数据链路层
来确定碰撞后重传的时机,该算法核心在于:在发生冲突后,节点会随机选择一个退避窗口,然后在该窗口内等待一段随机时间,然后再尝试发送数据。0x8021——信息字段为网络层的控制数据。G :如果起手后,出现 2 个或 2 个以上的玩家胡(即天胡、四喜、六六顺、缺一色、板板胡五种牌型)则中鸟的玩家下局当庄家。D 、如果四个玩家都不要海底牌,则下轮由第一个可以选择海底牌的玩家当庄家。F :如果此局无海底牌(即海底牌被补张),则补海底牌的玩家下局当庄家。C 、如果有人要了海底牌后却没人胡则要海底牌的玩家下局当庄家。
2024-08-07 13:46:24 861
原创 计网学习(二)——物理层
位开始边界有跳变代表0,而位开始边界没有跳变代表1。例如,0或1分别对应于相位0度或180度。例如,0或1分别对应于无载波或有载波输出。1、导引型传输媒体中的信号传输方式可能是模拟信号或数字信号,取决于具体的传输媒体和通信需求。曼彻斯特编码:位周期中心的向上跳变代表0,位周期中心的向下跳变代表1。例如,0或1分别对应于频率f1或f2。非导引型传输媒体就是指自由空间,在非导引型传输媒体中电磁波的传输常称为无线传输。不归零制:正电平代表1,负电平代表0。归零制:正脉冲代表1,负脉冲代表0。
2024-08-07 13:46:07 807
原创 Cristiano Linux学习小结
一、linux基础1.1 基本概述1、Linux组成:内核 Shell 文件系统 应用程序2、内核(Kernel),即核心程序。实现操作系统的基本功能(进程管理、内存管理、进程间通信、虚拟文件系统和网络接口),决定着系统的性能和稳定性。在硬件方面:控制硬件设备,管理内存,提供接口,处理基本I/O。在软件方面:管理文件系统,为程序分配内存和CPU时间等。3、Shell:Shell是系统的用户界面,提供用户与内核进行交互操作的一种接口;Shell是命令解释器;Shell是编程语言4、Linux
2023-07-07 11:06:49 307
原创 Android在cmd中查看已创建的数据库
一、配置环境变量配置方法:点击 计算机->属性->高级系统设置->环境变量,在系统变量中找到 path 路径,将platform-tools目录配置进去二、启动1、在命令行窗口输入 adb shell 指令进入到shell指令页2、输入 su 切换用户3、输入 cd/data/data/项目的包名/databases/指令进入指定项目的databases目录下三、查看数据库文件四、打开数据库1、输入sqlite 数据库名 打开数据库2、在 sqlite> 里输
2022-04-28 22:08:48 3149
原创 Cristiano设计模式概述
一、设计模式简单介绍1、简介:设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案;是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。2、作用:使代码可维护、可复用、可扩展、灵活性好3、面向对象设计原则对接口编程而不是对实现编程优先使用对象组合而不是继承二、设计模式分类(一) 创建型模式介绍:提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活工厂模式(Fact
2021-11-18 21:01:14 225
原创 操作系统(OS)进程与调度
一、进程的定义、组成、组织方式、特征1.1 进程的定义1、程序:一个指令序列2、PCB:进程控制块,用来描述进程的各种信息3、进程实体:由PCB、程序段、数据段三部分组成,又称为进程映像4、进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位5、PCB与进程的关系:PCB是进程存在的唯一标志。创建进程即创建进程实体中的PCB;撤销进程即撤销进程实体中的PCB1.2 进程的组成1、PCB:包括进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息2、程序段:存放要执
2021-10-19 15:13:31 7104 1
原创 操作系统(OS)引论
一、OS的概念定义:OS是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,他是计算机系统中最基本的系统软件。OS在计算机体系的层次结构的位置如下:二、OS的目标与作用2.1 操作系统的主要目标(目的)方便性:通过命令,或鼠标等便可完成所希望的要求(包括网上信息查询)。有效性:如实现CPU、I/O设备的并行操作、对内外存中存放的信息进行统一管理避免无序和空间的浪费。可扩充性:允许在不妨碍服务前提下,开发、测试和引
2021-10-13 17:03:56 9604 2
原创 控件之View与ViewGroup
一、Android控件架构1.1 关于View&ViewGroup1、Android中每个控件都会在界面中占得一块矩形的区域2、控件一般分为两类:ViewGroup控件和View控件,他们两个的关系如上图一样,ViewGroup可以包含View控件3、通过最顶部的ViewGroup控件,整个界面上的控件就形成了一个 控件树 的结构4、通常在使用 findViewById()方法 就是在控件树中以树的深度优先遍历来查找对应元素5、ViewParent对象在控件树的顶部,作为整棵树的控制核
2021-09-16 19:30:50 738
原创 UI之ListView
一、ListView作用:该控件是一类列表控件,允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚出屏幕二、定制ListView的界面以定制一个球星姓名的列表为例:1、由于ListView这一控件是由一个个item组成,因此我们首先需要定义一个实体bean类。类中的数据成员包含着每一个item所要展示的元素。这个实体类还是作为ListView适配器的适配类型。代码如下图所示: public class soccerName { private S
2021-09-14 15:42:26 335
原创 UI控件之RecyclerView
一、RecyclerView的基本概念1、RecyclerView控件是ListView的增强版,不仅可以轻松实现和ListView同样的效果,还优化了ListView中存在的不足之处。2、不过相比于ListView,RecyclerView也有一定的缺点:设置列表的分割线时需要自定义;列表的点击事件需要自己去实现二、 RecyclerView的基本用法1、导入RecyclerView的依赖 implementation 'com.android.support:recyclerview-v7:28
2021-09-12 10:02:06 684
原创 AS调试技巧
一、定制自己的日志工具代码如下:public class LogUtil { public static final int VERBOSE = 1; public static final int DEBUG = 2; public static final int INFO = 3; public static final int WARN = 4; public static final int ERROR = 5; public static fi
2021-09-11 14:22:52 5439
原创 Serializable&Parcelable
一、使用Intent传递(自定义)对象原因:一般的Intent只能传递基本数据类型或字符串类型等数据,而对于自定义的对象,则需通过Serializable和Parcelable的方式完成对象的传递二、Serializable方式1、概念:Serializable即序列化,表示讲一个对象转换成可存储或可传输的状态。序列化厚的对象可以在网上进行传输,也可以存储到本地,实现序列化方法只需实现接口即可:public class Person implements Serializable { pri
2021-09-11 12:41:50 130
原创 关于Android的Context
一、Contxet解析1、郭霖Android Context完全解析二、全局获取Context的技巧Android提供了一个Application类,每当应用程序启动时,系统会自动将这个类初始化,通过自定义一个MyApplication类可以便于管理程序内一些全局的状态信息,如全局Context具体使用步骤如下:1、自定义MyApplication类 public class MyApplication extends Application { private static Co
2021-09-11 10:32:10 288
原创 关于Git与GitHub
一、关于Git1.1 Git简介和安装1、Git是一个开源的分布式版本控制工具2、Git的安装:安装Git路径1.2 设置用户名1)点击Git Bash,打开显示如下界面:2)在cmd中输入如下语句,设置姓名和邮箱:$ git config --global user.name 姓名$ git config --global user.email 邮箱3)设置好后,可以通过如下语句查看配置结果$ git config user.name$ git config user.e
2021-09-05 16:52:05 198
原创 Android组件之服务
一、服务的概念1、服务是实现程序后台运行的解决方案,主要执行那些不需要和用户交互而且还要求长期运行的任务2、服务是依赖于创建服务时所在的应用程序进程而存在的,而不是运行在一个独立的进程当中3、服务的后台≠创建子线程,需要在服务的内部手动创建子线程,并且在这里执行具体的任务,否则可能会出现主线程被堵塞的情况二、Android的多线程编程2.1 线程的基本用法线程声明方式一: //定义方式 class myThread extends Thread{ @Override pu
2021-08-25 11:08:28 449
原创 Android之运行时权限
一、运行时权限7.2.1 Android权限机制详解权限机制:用于保护用户设备的安全性运行时权限:用户不需要在安装软件时一次性授权所有申请的权限,而是可以在软件的使用过程中再对某一项权限申请进行授权运行时权限的核心:在程序运行过程中由用户授权我们去执行某些危险操作,程序是不可以擅自做主去执行这些危险操作的Android将所有权限归为两类:①普通权限——系统自动帮我们授权;②危险权限——必须用户手动点击授权才行危险权限种类:9组24个权限7.2.2 在程序运行时申请权限这里我们以申请打电话的
2021-08-22 08:28:06 3849
原创 Cristiano Android之几大布局
3.3 详解4种基本布局布局:一种可用于放置很多控件的容器,可以按照一定的规律调整内部控件的位置–3.3.1 线性布局(LinearLayout)定义:该布局会将它所包含的控件在线性方向上依次排列,其代码都是在LinearLayout元素下实现的1、其中,布局文件中的android:orientation属性指定了控件的排列方向,若是vertical,则控件按垂直方向排列;若为horizontal,则控件按水平方向排列。注意:如果声明为vertical,则内部控件的高度不能指定为match_pa
2021-08-07 14:21:00 1089 1
原创 Android之常见UI控件
一、UI的定义Android提供了一系列UI,这些UI可以为我们的界面提供布局和控件,使我们的界面变得美观、合理二、常见的UI控件2.1 TextView作用:主要用于在界面上显示一段文本信息TextView常见属性使用: <TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_cont
2021-08-06 16:12:48 2323
原创 Cristiano前端学习之JavaScript语言基础
一、学习路线二、JavaScript简介JavaScript是一种脚本语言,可以直接嵌入HTML页面之中JavaScript特点:解释性、嵌套在HTML中、弱数据类型、跨平台、基于对象、基于事件驱动三、JavaScript使用形式...
2021-04-17 23:54:57 172
原创 Cristiano前端学习之CSS页面布局
一、学习路线二、盒子模型在页面布局中,为了将页面元素合理有效地组织在一起,形成一套完整的、行之有效的原则和规范,称为盒子模型。页面中的所有元素都可以看成一个盒子,并占据一定的页面空间,通过盒子之间的嵌套、叠加或并列,最终形成了页面。盒子模型是由内容(content)、边框(border)、内边距(padding)和外边距(margin)四部分组成。盒子的实际宽度(高度)是由content、padding、border、margin共同组成的三、内容区content内容区(content)
2021-04-06 17:19:54 306
原创 Cristiano前端学习之CSS语言基础
一、学习路线二、CSS概述2.1 CSS概述1、在页面排版时,内容与样式的混合设计方式将导致页面代码过于臃肿、难于维护,也不利于搜索引擎的检索2、CSS(层叠样式表)的出现,将页面内容与样式彻底分离,极大改善了HTML在页面显示方面的缺陷3、使用CSS样式表可以控制HTML标签的显示样式,如页面的布局、字体、颜色、背景和图文混排等效果4、在网站的风格方面,一个CSS样式文件可以在多个页面中使用,当用户修改CSS样式文件时,所有引用该样式文件的页面外观都随之发生改变2.2 CSS基本语法结构
2021-04-05 20:51:16 215
原创 Cristiano前端学习之表单
一、学习路线二、表单概述1、Form表单是HTML的一个重要部分,负责采集和提交用户输入的信息2、表单主要分为表单标签及表单控件两大类3、表单控件又可细分为表单域和按钮两部分,常见的表单域包括文本框、密码框、多行文本框、单选按钮、复选框、下拉选择框等4、在表单域录入数据后,可通过表单的特殊控件(如提交按钮等)将数据传递给服务器端,由服务器接收表单数据并进行处理三、表单标签表单标签是一个包含表单元素的区域可以包含一些表单控件可以包含其他的HTML标签 基本语法: <f
2021-03-08 20:18:59 200
原创 Cristiano前端学习之表格与框架
一、学习路线二、表格2.1 概述1、表格元素主要由行、列、表头单元格、正文单元格、标题、表头行、正文行、表尾行等构成。2、在HTML中,通过<table>标签创建表格元素2.2 组成结构 <table> <!-- 一行可以包含多个单元格 --> <tr> 行是表格的水平元素,使用<tr>标签表示 <td>单元格内容</td> 单元格是表格的基本元素,使用<td&g
2021-03-07 11:26:08 500
原创 Cristiano前端学习之HTML语言基础
一、学习路线二、html概述2.1 概述1、 HTML(超文本标记语言,Hyper Text Markup Language)2、万维网联盟(World Wide Web Consortium,简称W3C)2.2 html文档结构1、HTML是一种描述性标记语言,用来描述页面内容的显示方式;2、HTML文件是一种纯文本文件,以“.html”或“.htm”为后缀。3、HTML的基本组成单位是元素,语法结构如下: <标签> 内容 </标签>
2021-03-05 20:31:37 655 3
原创 Java基础知识
一、Java中的名称命名规范1、包名:多单词组成所有字母小写2、类名、接口名:多单词组成所有单词的首字母大写3、变量名、方法名:多单词组成第一个单词字母小写,其余大写4、常量名:所有字母大写,多单词组成用下划线“_”连接二、变量分类1、基本数据类型:整型、浮点型、字符型、布尔型2、引用数据类型:类(字符串String在其中)、接口、数组3、成员变量(类体内、方法体外声明):实例变量(不以static修饰)、类变量(以static修饰)4、局部变量(方法内声明):形参(方法名中)、方法
2021-03-02 16:48:32 161
原创 关于retrofit如何移动端服务端实现交互
一、retrofit推荐博客1、这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)2、Android:手把手带你深入剖析 Retrofit 2.0 源码3、安卓Retrofit的基本操作4、关于okhttp3网络框架的onfailure错误二、具体交互实现(以实现注册功能为例)步骤一创建JavaBean类,根据服务端所给的Gson格式,例如:{ "userName": "", "userPhoneNumber": "", "userPassword
2021-02-14 14:01:48 271
原创 Crstiano字符串string和char总结
一、char 和 string 的区别1、赋值操作char赋值: char ch1[] = "give me"; char ch2[] = "a cup"; strcpy(ch1,ch2); cout<<"ch1="<<ch1<<endl; 输出结果:ch1=a cupstring赋值: string str1 = "give me"; string str2 = "a cup"; str1 = str2; cout<<"s
2020-10-26 21:00:35 269
原创 stl常用算法总结
stl的算法简单概念算法(algorithm)是用模板技术实现的适用于各种容器的通用程序。算法常常通过迭代器间接地操作容器元素,而且通常会返回迭代器作为算法运算的结果。STL大约提供了70个算法,每个算法都是一个模板函数或者一组模板函数,能够在许多不同类型的容器上进行操作,各个容器则可能包含着不同类型的数据元素。STL中的算法覆盖了在容器上实施的各种常见操作,如遍历、排序、检索、插入及删除元素等操作1、find/count算法find用于查找指定数据在某个区间中是否存在,该函数返回等于指定值的第一个
2020-10-26 17:02:50 1067
原创 Cristiano的STL总结
一、C++容器的概念及类型容器(container)是用来存储其他对象的对象,它是用模板技术实现的。 STL的容器常被分为顺序容器、关联容器和容器适配器三类。C++提供的顺序类型容器有向量(vector)、链表(list)、双端队列(deque)关联容器主要包括集合(set)、多重集合(multiset),map,multimap容器适配器主要指堆栈(stack)和队列(queue)二、stack容器头文件: #include <stack使用:stack<int> s;
2020-10-26 16:43:45 159
原创 Android之Material Design
12.1 Toolbar: 顶部标题控件1、ActionBar表示的是每个活动最顶部的标题栏2、Toolbar不仅继承了ActionBar的所有功能,而且灵活性很高,可以配合其他空间来完成一些Material Design的效果3、ActionBar来源:4、活动界面中AppTheme每个位置的属性表示5、可以利用Toolbar上修改标题栏上显示的内容(添加菜单为例)12.2 滑动菜单滑动菜单:将一些菜单选项隐藏起来,而不是放置在主屏幕上,然后可以通过滑动的方式将菜单显示出来12.2.
2020-10-05 17:19:28 471
原创 Android之数据持久化技术
6.1 持久化技术简介数据持久化:指将那些内存中的瞬时数据保存到存储设备当中持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android主要提供了文件存储、SharedPreferences存储和数据库存储三种存储方式6.2 文件存储文件存储:是Android中最基本的一种数据存储方式,适合存储一些简单的文本数据或二进制数据、若要保存一些较为复杂的文本数据,就需要定义一套自己的格式规范,方便将数据从文件中解析出来6.2.1 将数据存储到文件中Context类提供了open
2020-09-20 14:06:37 1873 1
原创 Android组件之内容提供器
7.1 内容提供器简介1、内容提供器主要用于在不同的应用程序之间实现数据共享的功能,他提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性2、内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险7.2 运行时权限7.2.1 Android权限机制详解权限机制:用于保护用户设备的安全性运行时权限:用户不需要在安装软件时一次性授权所有申请的权限,而是可以在软件的使用过程中再对某一项权限申请进行授权运行时权限的核心:在程序运行过
2020-09-20 13:02:37 769
原创 Android之网络技术、XML、JSON格式
9.1 WebView (控件之一)的用法WebView控件可以帮我们在自己的应用程序里嵌入一个浏览器,从而非常轻松地展示各种各样的网页。下面我们就来实践一下然后我们修改MainActivity中的代码:①这里调用getSettings()方法可以设置一些浏览器的属性,其中setJavaScriptEnabled()方法让WebView支持JavaScript的脚本的;②调用setWebViewClient()方法并传入一个实例,其作用是:当需要从一个网页跳转到另一个网页时,我们希望目标网页仍然
2020-09-20 00:28:28 352
原创 Android之通知的使用
8.1 使用通知通知——是Android系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现8.1.1 通知的基本用法通知可以在活动里创建,也可以在广播接收器里创建,还可以在服务里创建创建步骤:1、首先需要一个 NotificationManager类来对通知进行管理,通过调用getSystemService()方法来得到 NotificationManager manager = (NotificationManager)g
2020-09-14 18:26:47 810
原创 Cristiano算法分析基础
一、算法的时间复杂性分析1、算法的时间复杂性分析是一种事前分析估算的方法,它是对算法所消耗资源的一种渐进分析的方法。所谓渐进分析,是指忽略具体机器、编程语言和编译器的影响,只关注在输入规模增大时算法运行时间的增长效率2、输入规模——指输入量的多少,运行算法所需要的时间T是输入规模n倍的函数,记作T(n)3、基本语句——执行次数与整个算法的执行次数成正比的语句1.1 算法的渐进分析定义:若存在两个正的常数c和n0,对于任意n>=n0,都有T(n)<=c*f(n),则称T(n) = O(f
2020-09-07 09:57:15 464
原创 Cristiano算法设计基础
一、基础知识1、算法理论主要研究算法的设计技术和算法的分析技术2、算法设计的主要任务是描述问题的解决方案3、算法分析的主要任务是对算法进行比较4、算法的核心是效率5、计算机专业的基本学科能力归纳为计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力二、算法的基本概念算法是对特定问题求解步骤的一种描述,是指令的有限序列2.1 算法的特性1、算法具有五种特性:输入、输出、有穷性、确定性、可行性2、一个好算法除了满足上述五种特性外,还具有:确定性、健壮性、可理解性、抽象分级、高效性
2020-09-07 09:15:31 540
空空如也
javafx用中文输入法时出现的bug
2021-06-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人