- 博客(43)
- 收藏
- 关注
原创 操作系统 第二部分 进程、线程
系列文章第一部分 背景知识第二部分 进程目录系列文章进程描述和控制中断加油呀各位!这篇文章是我学操作系统做的笔记,适合要复习的同学看进程描述和控制中断
2020-11-24 23:51:58
872
1
原创 架构-基础篇
写软著的时候我发现自己对手上的APP的整个框架没概念,就在极客时间上选了这门从0开始学架构 随便看看,这篇博客的内容就是那门课的一部分笔记,希望对你有帮助。 架构的基本概念架构设计的目的复杂度来源:高性能复杂度来源:高可用架构的基本概念模块和组件都是系统的组成部分,只是从不同的角度拆分系统而已:从逻辑的角度来拆分系统后,得到的单元就是“模块”;从物理的角度来拆分系统后,得到的单元就是“组件”。划分模块的主要目的是职责分离;划分组件的主要目的是单元复用。框架关注的是“规范”(组件规范、框架是提供基础
2020-11-23 23:41:58
214
原创 SQL基础笔记
随手笔记。参考资料:《SQL必知必会(第4版)》Ben Forta 第1课 了解SQL第2课 检索数据第3课 排序检索数据第4课 过滤数据第5课 高级数据过滤第6课 用通配符进行过滤第7课 创建计算字段第8课 使用函数处理数据第9课 汇总数据第10课 分组数据第11课 使用子查询第12课 联结表第13课 创建高级联结第14课 组合查询第15课 插入数据第16课 更新和删除数据第17课 创建和操纵表第18课 使用视图第19课 使用存储过程第20课 管理事务处理第21课 使用游标第22课 高级SQL特性第
2020-11-18 22:27:55
647
原创 JS数据结构与算法 链表
多思考多总结,进步才快。目录找链表公共结点找链表公共结点输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)直接遍历两个链表,时间复杂度O(mn)。/*function ListNode(x){ this.val = x; this.next = null;}*/function FindFirstCommonNode(pHead1, pHead2){ let current1 = pH
2020-11-04 01:51:17
103
原创 操作系统 第一部分 背景知识 计算机系统概述,操作系统概述
系列文章第一部分 背景知识目录系列文章计算机系统概述中断存储器的层次结构直接内存存取操作系统概述加油呀各位!这篇文章是我学操作系统做的笔记,适合要复习的同学看计算机系统概述中断允许其他模块(I/O、存储器)中断处理器正常处理过程的机制。中断最初是用于提高处理器效率的一种手段。利用中断功能,处理器可以在IO操作的执行过程中执行其他指令。处理多中断有两种方法。第一种方法是当正在处理一个中断时,禁止再发生中断。第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的
2020-11-03 23:40:41
382
原创 前端技术笔记CSS HTML部分
本篇博客是参考了以下教程做的笔记:开始学习 HTML:https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Introduction_to_HTML/Getting_started文章目录文件处理文件命名规范文件路径HTML — 构建 WebHTML概念HTML文档结构引用特殊字符文件处理文件命名规范文件夹名和文件都使用小写字母,且没有空格。因为很多计算机,特别是 Web 服务器,是对大小写敏感的。浏览器、Web 服务器,还有编程语言处理空格的方式不
2020-10-05 12:20:13
506
原创 JavaScript基础 《JavaScript 语言入门教程》笔记
本篇博客是根据《JavaScript 语言入门教程》做的一个简略版笔记,方便以后查阅。非常感谢这个教程文档的贡献者,对我很有帮助。文章目录JavaScript 的基本语法数据类型函数闭包数组运算符JavaScript 的基本语法JavaScript 是大小写敏感的。如果变量只声明没有赋值,则变量的值为undefined(表示无定义)。声明变量时没有写var也是可以的(不建议)。变量没声明就使用会报错。var a = 1;//变量的声明和赋值var b;c // undefined
2020-09-12 22:55:08
734
转载 贪心算法
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]解释: 连续子数组 [4,-1,2,1] 的和最大,输出为 6。class Solution { public int maxSubArray(int[] nums) { int ans = nums[0]; int sum = 0; for(int num:nums){ .
2020-09-12 00:08:25
137
转载 React-Native的基本控件属性方法,核心组件,React-Native 样式指南
Mark:React-Native的基本控件属性方法本文转载自:React-Native 样式指南React-Native 样式指南React-Native 的样式基本上是实现了 CSS 的一个子集,并且属性名不完全一致,所以当你开始在编写 React-Native 之前,可以先简要了解一下。当前对应 RN 版本0.44目录Properties 属性Text 文本Dimension 尺寸Positioning 定位Margin 外部白Padding 内补白Border 边框
2020-09-11 23:17:35
691
原创 react native入门:Flexbox布局 容器属性flexDirection、flexWrap、flexFlow、justifyContent 项目属性order、flexGrow
好记性不如烂博客。这篇博客是基于以下教程做的简略笔记,方便以后查阅:5分钟吃透React Native FlexboxReact Native基础&入门教程:初步使用Flexbox布局《Flex 布局教程:语法篇》——阮一峰目录一、Flexbox布局二、容器的属性:flexDirection、flexWrap、flexFlow、justifyContent、alignItems、alignContent三、项目的属性:order、flexGrow、flexShrink、flex、ali
2020-09-11 23:01:22
859
原创 Java 注解与反射
注解反射反射就是通过对象来反射出一个类。优点:带来灵活性,缺点:慢。反射的功能主要API反射的源头Class类Class类常用方法:获取类的实例可以用class方法获取Class对象:
2020-08-11 17:49:01
182
原创 计算机网络 应用层协议原理,Web和HTTP,Email应用:SMTP协议、邮件访问协议,DNS服务
本章重点网络应用的体系结构客户-服务器体系结构服务器 7*24小时提供服务 永久性访问地址/域名 利用大量服务器实现可扩展性客户机 与服务器通信,使用服务器提供的服务 间歇性接入网络 可能使用动态IP地址 不会与其他客户机直接通信P2P点对点体系结构没有永远在线的服务器任意端系统/节点之间可以直接通讯节点间歇性接入网络节点可能改变IP地址优点:高度可伸缩缺点:难于管理混合结构进程通信客户与服务器进程同一主机上运行的进程之间如何通信?通
2020-08-06 17:47:53
6099
原创 Java多线程,创建线程的3种方式、设计模式-静态代理模式、Lamda表达式,线程状态和常用方法,线程同步synchronized和Lock、死锁,线程协作:生产者消费者、管程法、线程池
概念线程就是独立的执行路径;在程序运行时,即使没有自己创建程,后台也会有多个线程,如主线程,gc线程(垃圾回收线程)main()称之为主线程,为系统的入口,用于执行整个程序;在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为的干预的。对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;线程会带来额外的开销,如cpu调度时间,并发控制开销。每个线程在自己的工作内存交互,内存控制不当会造成数据不一致创建线程创建线程主要有3种
2020-08-05 15:38:51
649
原创 Java IO流
概念IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式Java用于操作流的类都在IO包中流按流向分为两种:输入流,输出流。流按操作类型分为两种:字节流:字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的字符流:字符流只能操作纯字符数据,比较方便。IO流常用父类字节流的抽象父类:InputStream、OutputStream字符流的抽象父类:Reader、WriterIO程序书写:使用前,导入IO包中的类使用时,进行IO异常处理使用后,释
2020-08-04 13:52:26
139
原创 计算机网络概述:基本概念,网络核心-分组交换、电路交换,端到端延迟计算,计算机网络体系结构:OSI参考模型、TCP/IP参考模型、5层参考模型
网络结构包括:网络边缘,接入网络,网络核心。计算机网络学习的核心内容就是网络协议的学习。目前TCP/IP协议已经成为Internet中的"通用语言",下图为不同计算机群之间利用TCP/IP进行通信的示意图。...
2020-08-03 18:26:11
558
原创 File类的常用使用方法
createNewFile,mkdirs,mkdirFile dir1 = new File("aaa");//File创建目录System.out.println(dir1.exists());System.out.println(dir1.createNewFile());//创建一个文件File d = new File("\\bbb/ccc");System.out.println(d.mkdirs());//创建多个文件夹System.out.println(d.mkdir());//
2020-08-03 13:46:51
338
原创 Java 异常处理:异常的概述、处理异常问题、throws和throw的区别、final,finally和finalize的区别、finally之前return、如何使用异常处理
异常的概述异常就是出程序运行时出现的一些错误。所有的异常类是从 java.lang.Exception 类继承的子类。Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error(error一般是严重的,我们无法解决的错误,如服务器宕机) 。异常类有两个主要的子类:IOException 类和 RuntimeException 类。JVM的默认异常处理main函数收到这这个问题时,有两种处理方式:a:自己将该问题处理,然后继续运
2020-08-03 11:09:59
314
原创 Java 集合框架 Map接口和collection接口的不同、Map的主要方法、遍历Map方法
Map接口和collection接口的不同Map是双列的,Collection是单列的。HashSet底层依赖的是HashMap,只是隐藏起了第二列。TreeSet底层依赖的是TreeMap。Map的键唯一,Collection的子体系Set是唯一的。Map集合的数据结构值针对键有效,跟值无关Collection集合的数据结构是针对元素有效。Map的添加put方法、清空clear方法、删除特定键remove方法HashMap<String,String> hm = new Hash
2020-07-30 16:52:18
264
原创 Java 集合框架 Set,自定义元素使用HashSet要重写hashCode()和equals()方法,使用TreeSet要重写compareTo方法或传入Comparator
集合继承框架图还是这个图,今天学的是set接口,还有他底下的两个类:HashSet、TreeSet。set:无序,存和取不一致,不允许重复。SetList有特有的方法是因为他有索引这个特性,Set就没有特别的方法。HashSet可以通过HashSet来保证存入元素的唯一性。HashSet的add方法会返回boolean值表示有没有添加成功。Hashset不能添加重复的元素,在自定义类中要重写equals方法判断元素是否相等,否则HashSet会以地址值来判断元素是否相等。除了equal
2020-07-22 17:50:17
957
原创 Java 静态导入、可变参数...
静态导入JDK1.5以后的特性。其实导入的是静态的方法,只要是静态的方法都可以用静态导入。例子:可变参数可变参数其实就是一个可以变化的数组,编译器认为下面两个print方法是一样的。但是可变参数功能更强大,可以一次传入很多参数:运行结果:22334455PS:如果要传入可变参数以外的参数,定义函数时要要可变参数放在最后一个。...
2020-07-22 15:45:13
125
原创 Java 增强for循环
增强for循环是靠Iterator迭代器实现的,但是迭代器不能用于遍历数组,增强for循环可以。ArrayList<String> list = new ArrayList<>();list.add("dwf");list.add("dfef");for(String s:list){ System.out.println(s);}int[] arr = {1,2,3,4,5,6,7};for(int i:arr){ System.out.print
2020-07-22 15:19:37
104
原创 Java 泛型的概念、泛型怎么用(泛型类泛型方法泛型接口)、泛型通配符<?>
泛型是什么早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题,也就存在这隐患,所以Java提供了泛型来解决这个安全问题。JDK1.5版本出现了泛型,1.7版本出现了菱形泛型。泛型就是在定义集合的时候出现的那个<>符号,可以在<>中填入 引用数据类型 规定这个集合元素的类型(因为集合框架内所有元素都是以引用数据类型为前提的,所以如果元素是 基本数据类型 要填入他们的包装类)。菱形泛型就是定义时右边可以不填类型,左边填了就可以。如:ArrayL
2020-07-21 17:55:06
151
原创 Java 集合框架 Arraylist的基本使用方法、Vector的特有方法、LinkedList的特有方法、在集合中删除重复自定义类型元素(重写equals方法)
面试时:集合继承体系图还是这个图,上一篇学了List接口,这篇讲的是List底下继承的三个类。上篇链接:Java 集合框架 List的方法,List集合特有的遍历功能,listIterator的功能,并发修改异常ConcurrentModificationException的原因和解决办法https://blog.youkuaiyun.com/weixin_43580841/article/details/107462169List底下三个类:Arraylist:底层数据结构是数组(顺序表),查询快,
2020-07-21 16:30:08
321
原创 解决Android Studio无法连接OPPO(android 9 ,coloros 6.0.1)问题
OPPO手机,升级了 android 9 ,coloros 6.0.1 以后就连不上 adb了,非常难受。偶然发现了解决办法,在 开发者选项 中把 选择USB配置 从默认的MIDI改为RNDIS(USB以太网)就好了。
2020-07-20 16:24:25
5481
2
原创 Java 集合框架 List的方法,List集合特有的遍历功能,listIterator的功能,并发修改异常ConcurrentModificationException的原因和解决办法
集合继承体系图还是这个图,上一篇学了Collection接口,这篇讲的是List接口。上篇链接:https://blog.youkuaiyun.com/weixin_43580841/article/details/107446358Java 集合框架 Collection的介绍和常用方法,iterator迭代器遍历集合的方法和原理注意:API中List有两个,要使用集合List导包时选择的是java.util.List。List集合的特有方法(指定索引或元素增删改查)因为List是继承自Collecti
2020-07-20 15:32:32
224
原创 Java 集合框架 Collection的介绍和常用方法,iterator迭代器遍历集合的方法和原理
这个我没学过,每次遇到都有点懵,今天补补课,好记性不如烂博客~因为数组存储引用数据类型时有局限性,比如不能自动增长,为了方便封装了一些集合类供使用。数组与集合的区别数组可以存储基本数据类型也可以存储引用类型,集合只可以存引用数据类型(对象),但是可以通过JDK1.5自动装箱的特性减少不便。数组长度是不可变的,集合的长度是可变的,可以随着元素的增加而增长(有的还是通过数组实现的,重新new一个1.5倍的数组,然后把原来数组中的数据存进去,原来的数组变成垃圾,1.5倍增长是一个折中的办法为了避免频繁地
2020-07-19 18:58:07
223
原创 JDK API常见对象 Arrays类、Integer类、String的转换、自动装箱、Pattern类、正则表达式、Math类、random类、BigInteger类、Date、Calendar日历
目录:Arrays类Arrays类的toString方法基本数据类型包装类Integer类String和基本数据类型的转换自动装箱、自动拆箱Pattern类正则表达式Math类math类的ceil方法、round方法和floor方法math类的random方法random类BigInteger类BigDecimal类Date类DateFormat类Calendar类
2020-07-18 14:26:28
176
原创 Java 关于数组的基础算法-冒泡排序 选择排序 二分查找(的幼儿园解释)
复习一下public class test { public static void main(String [] args){ int[] a = {12, 34, 14, 55, 16, 75, 28, 100}; bubbleSort(a); selectSort(a); int b = find(a,14); System.out.println(b); } /**
2020-07-15 18:13:26
196
原创 JDK API常见对象:Object类、Scanner类、String类、StringBuffer类
Android虽然我上手做有了一段时间,但基本上是遇到了难题就goole学一点怎么实现功能。很多基础的知识我没有什么概念,所以刷网课补习一下,顺手做下笔记,希望对你有帮助kkkObject类所有类的根类,Java中所有类都直接或间接的继承该类Object类的int hashCode():返回对象的哈希码值a.返回该对象的哈希码值,这个值和地址有关。b.不同对象的,hashCode()一般来说不会相同。但是同一个对象的hashCode()值肯定相同。c.不是对象的实际地址值,可以理解为逻辑地址值
2020-07-14 16:06:27
189
原创 Java 基础笔记
JRE与JDKJRE(Java Runtime Environment Java运行环境):包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。JDK(Java Development Kit Java开发工具包):JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE,所以安装了JDK,就不用在单独安装JRE7。其中的开发工具:编译工具(javac.e
2020-07-14 12:08:24
314
原创 读薄《C和指针》第6章 指针
这是我读《C和指针》第6章做的笔记,过一遍指针知识点,希望能对你有所帮助。内存每个字节(byte)包含8个位,可以存储无符号值0至255,或有符号值-128至127。每个字节通过地址来标识。为了存储更大的值,我们把两个或更多个字节合在一起作为一个更大的内存单位。例如四个字节的字,由于它们包含了更多的位,每个字可以容纳的无符号整数的范围是从0至429496729(232-1),可以容纳的有符号整数的范围是从-2147483648(-231)至2147483647(231-1)。尽管一个字包含了4个字节
2020-07-14 11:45:56
135
1
原创 读薄《C和指针》-第5章 操作符和表达式
这是我读《C和指针》第5章做的笔记,复习一下C语言中各种各样的操作符,希望能对你有所帮助。位移操作符 >>、<<左移位操作符为<<,右移位操作符为>>。左操作数的值将移动由右操作数指定的位数。两个操作数都必须是整型类型。标准说明无符号值执行的所有移位操作都是逻辑移位,但对于有符号值,到底是采用逻辑移位还是算术移位取决于编译器。因此,一个程序如果使用了有符号数的右移位操作,它就是不可移植的。位操作符 & | ^要求操作数为整数类型,它们对操作数
2020-07-14 11:40:13
105
原创 Android 实现长按列表item出现菜单-弹窗AlertDialog 上下文菜单ContextMenu的具体使用(附参考代码)
弹窗AlertDialog 上下文菜单ContextMenu这两个结合可以实现长按列表item出现菜单,点击菜单项弹出对话框进行进一步操作。对话框AlertDialogAlertDialog是Android中最常用的对话框,可以完成常见的交互操作,如提示、确认、选择等功能。 AlertDialog没有公开的构造函数,必须借助AlertDialog.Builder才能完成参数设置,AlertDialog.Builder的常用方法如下。setIcon:设置标题的图标。 setTitle:设置标题的文本。
2020-07-14 11:35:58
3181
5
原创 读薄《C和指针》-第4章 语句
这是我读《C和指针》第4章做的笔记,复习一下C语言中各种各样的语句,希望能对你有所帮助。涉及:空语句、if语句、break和continue语句、while语句、for语句、switch语句、goto语句
2020-05-18 12:51:17
151
原创 读薄《C和指针》-第3章 数据
这是我读《C和指针》第3章做的笔记,主要内容是C语言中数据的类型、不同类型的特点和使用以及变量的三个属性--作用域、链接属性和存储类型,希望能对你有所帮助。涉及:基本数据类型,整型,浮点型,指针,typedef,const常量,作用域,链接属性:external(外部)、internal(内部)和none(无),存储类型,static关键字
2020-05-18 12:42:16
197
原创 读薄《C和指针》-第1、2章 C语言基本概念
这是我读《C和指针》第1、2章做的笔记,比较基础,主要内容是我以前使用C语言时没有注意到的地方,希望也能对你有所帮助注释在有些语言中,注释有时用于把一段代码“注释掉”,也就是使这段代码在程序中不起作用,但并不将其真正从源文件中删除。如果你试图在一段C语言代码的首尾分别加上/和/符号来“注释掉”这段代码,你不一定能如愿。如果这段代码内部原先就有注释存在,这样做就会出问题。要从逻辑上删除一段C代码,更好的办法是使用#if指令:预处理指令预处理指令有两种:#include XXX 和 #define X
2020-05-18 12:28:35
172
原创 Android -列表视图ListView 基本适配器BaseAdapter具体使用方法(附参考代码)
我最近做项目用到了基本适配器BaseAdapter,所以写篇博客总结一下,希望也能对你有所帮助什么时候用BaseAdapter(同一项存在多个控件,复杂的列表时)Android中Adapter类其实就是把数据源绑定到指定的View上,然后再返回该View,而返回来的这个View就是ListView中的某一行item。这里返回来的View正是由我们的Adapter中的getView方法返回的。这样就会容易理解数据是怎样一条一条显示在ListView 中的。简单的ListView可使用ArrayAdapt
2020-05-18 12:12:03
959
原创 Android 数据存储-本地数据库SQLite具体使用(参考代码)
我最近做项目用到了这个SQLite本地数据库,所以写篇博客总结一下,希望也能对小白有所帮助涉及问题:什么时候用SQLite? SQLiteDatabase数据库管理类。 SQLiteOpenHelper数据库帮助器。 数据库操作的工具类:在这个类中,封装保证数据库安全的必要方法,包括获取单例对象、打开数据库连接、关闭数据库连接,并且封装对表记录进行增加、删除、修改、查询的操作方法。
2020-05-18 12:05:53
1323
原创 打包解包模块总结:VS2010中默认的编码是Unicode编码
我把vc6.0上运行没有问题的代码挪到vs2010上,出现了一系列问题。其根本原因是两种编译器默认编码不一样,vc6.0中默认的编码是(多字节)Ascii编码,VS2010中默认的编码是Unicode编码。可以简单粗暴地改回去打开菜单栏–&amp;amp;gt;项目–&amp;amp;gt;XXX属性–&amp;amp;gt;配置属性–&amp;amp;gt;常规–&amp;amp;gt;字符集–&a
2018-11-14 00:24:03
1923
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人