- 博客(149)
- 资源 (5)
- 收藏
- 关注
原创 1 【Android高级开发必备技能】注解
Java 注解是JDK5.0引入的注释机制,可以被使用在类,方法,参数等地方中,并且可以通过Java的反射机制获取注解中的内容,注解相当于标签,可以标识方法,类或属性具有某些特征,在编译器生成的类文件时,可以被嵌入到字节码中。另外用户可以自定义注解,完成定制化的开发,尤其是在利用springboot进行项目开发时,我们会经常使用注解管理spring容器的bean,从而大大提高了开发的效率。...
2022-07-06 07:59:11
588
原创 git常见命令和更新、发布
git常使用的命令1、git init —在当前目录新建一个代码库。2、 git config user.name=””git config user.email=””—设置代码提交时候的信息。3、 git clone 需要clone 远程地址 ––从服务器端克隆项目到本地4、 git status —查看文件修改状态。5、 git diff 文件路径 ––查看该文件与上次提交修改代码的差别。6、 git diff –-cached 文件路径 ––查看本地缓冲和上次提交的差别。7、 git c
2022-03-21 09:35:33
13436
原创 Flutter SDK降级、回退、升级到指定版本方法
今天给flutter升级,但是运行老项目之后一堆的问题,无奈只能退回到老版本,过程如下1、cd 到自己flutter的安装目录2、执行 git reset --hard commit版本号commit版本号的获取,要到Flutter Git源码里面去找https://github.com/flutter/flutter3、执行完步骤2之后,重新执行flutter doctor,即可...
2022-03-19 11:22:23
11784
原创 java基础面试总结
1、Jdk和Jre和JVM的区别JDK :Jdk还包括了一些Jre之外的东西 ,就是这些东西帮我们编译Java代码的, 还有就是监控Jvm 的一些工具 Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也 包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe), 打包工具(jar.exe)等 JRE :Jre大部分都是 C 和 C++ 语言编写的,他是我们在编译java时所需要的基础的类库 Java
2022-01-17 18:52:15
1050
原创 TCP 四次挥手的过程
1、四次挥手的过程1、刚开始双方处于ESTABLISHED状态。2、客户端要断开了,向服务器发送FIN报文,在 TCP 报文中的位置如下图:发送后客户端变成了FIN-WAIT-1状态。注意, 这时候客户端同时也变成了half-close(半关闭)状态,即无法向服务端发送报文,只能接收。3、服务端接收后向客户端确认,变成了CLOSED-WAIT状态。4、客户端接收到了服务端的确认,变成了FIN-WAIT2状态。5、随后,服务端向客户端发送FIN,自己进入LAST-AC...
2022-01-12 15:22:46
7592
原创 三次握手的过程是怎样的?为什么是三次而不是两次、四次?
1、三次握手过程TCP 的三次握手,是需要确认双方的两样能力:发送的能力和接收的能力。于是便会有下面的三次握手的过程:1、从最开始双方都处于CLOSED状态。然后服务端开始监听某个端口,进入了LISTEN状态。2、然后客户端主动发起连接,发送 SYN , 自己变成了SYN-SENT状态。3、服务端接收到,返回SYN和ACK(对应客户端发来的SYN),自己变成了SYN-REVD。4、之后客户端再发送ACK给服务端,自己变成了ESTABLISHED状态;服务端收到ACK之后,也变成了E.
2022-01-11 18:33:21
5402
原创 java并发编程基础面试总结07
接上一篇java并发编程知识总结06,继续总结一下java面试基础知识。65、volatile 关键字的作用对于可见性,Java 提供了 volatile 关键字来保证可见性和禁止指令重排。 volatile 提供 happensbefore 的保证,确保一个线程的修改能对其他线程是可见的。当一个共享变量被 volatile 修饰 时,它会保证修改的值会立即被更新到主内存中,当有其他线程需要读取时,它会去内存中读取新 值。 从实践角度而言,volatile 的一个重要作用就是和 CAS 结合,保证
2022-01-10 18:48:42
180
原创 从输入URL到页面呈现发生了什么?
你在浏览器地址栏输入了百度的网址:https://www.baidu.com/这是一个网络面试经常问到的问题。出这个题目的目的就是为了考察web 基础深入到什么程度。由于水平和篇幅有限,在这里我将把其中一些重要的过程给梳理一遍。好,正题开始。#网络请求#1. 构建请求浏览器会构建请求行:// 请求方法是GET,路径为根路径,HTTP协议版本为1.1GET / HTTP/1.1#2. 查找强缓存先检查强缓存,如果命中直接使用,否则进入下一步。关于强缓存...
2022-01-09 09:50:07
251
原创 java并发编程基础面试总结06
54、并发关键字 synchronized ? 在 Java 中,synchronized 关键字是用来控制线程同步的,就是在多线程的环境下,控制 synchronized 代码段不被多个线程同时执行。synchronized 可以修饰类、方法、变量。 另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor) 是依赖于底层的操作系统的 Mutex Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上 的。如果要挂起或者唤醒一...
2022-01-09 09:24:06
215
原创 Janus 签名机制漏洞
什么时Janus 签名机制漏洞?检测 App 程序是否存在 Janus 签名机制漏洞。 Google 披露了一个名为“Janus”的安卓漏洞(漏洞编号:CVE-2017- 13156),该漏洞可以让攻击者绕过安卓系统的 Signature scheme V1 签名 机制,用篡改过的 APK 覆盖原有的应用,并可访问原应用所有的数据,直接 对 App 进行篡改。由于安卓系统的其他安全机制也是建立在签名和校验基础 上的,所以可以说该漏洞相当于绕过了安卓系统的整个安全机制。该漏洞的影响范围?安卓
2022-01-04 11:06:44
3620
原创 java并发编程基础面试总结05
接上一篇java并发编程知识总结04,继续总结一下java面试并发编程基础知识。45. 在监视器(Monitor)内部,是如何做线程同步的?程序应该做哪种级别的同 步?在 java 虚拟机中,监视器和锁在Java虚拟机中是一块使用的。监视器监视一块同步代码块,确保 一次只有一个线程执行同步代码块。每一个监视器都和一个对象引用相关联。线程在获取锁之前不 允许执行同步代码。 一旦方法或者代码块被 synchronized 修饰,那么这个部分就放入了监视器的监视区域,确保一次 只能有一个线程执行该部分..
2021-12-31 16:53:40
428
原创 java并发编程基础面试总结04
接上一篇java并发编程知识总结03,继续总结一下java面试并发基础知识。35. Java 中 interrupted 和 isInterrupted 方法的区别?interrupt:用于中断线程。调用该方法的线程的状态为将被置为”中断”状态。 注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处 理。支持线程中断的方法(也就是线程中断后会抛出interruptedException 的方法)就是在监视线程的 中断状态,一旦线程的中断状态被置为“中断状态”
2021-12-31 16:34:17
288
原创 java并发编程基础面试总结03
新建(new):新创建了一个线程对象。就绪(可运行状态)(runnable):线程对象创建后,当调用线程对象的 start()方法,该线程处于就 绪状态,等待被线程调度选中,获取cpu的使用权。运行(running):可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代码。 注:就绪状态是进入到运行状态的唯一入口,也就是说,线程要想进入运行状态执行,首先必须处 于就绪状态中;阻塞(block):处于运行状态中的线程由于某种原因.
2021-12-26 10:31:32
403
原创 java并发编程基础面试总结02
接上一篇java并发编程知识总结02,继续总结一下,上一篇主要涉及了一些基本的概念,这一篇对基本概念会做一些延伸。11. 什么是上下文切换? 多线程编程中一般线程的个数都大于 CPU 核心的个数,而一个 CPU 核心在任意时刻只能被一个线 程使用。为了让这些线程都能得到有效执行,CPU 采取的策略是为每个线程分配时间片并进行轮转的方式。 当一个线程的时间片用完的时候就会重新处于就绪状态让给其他线程使用,这个过程就属于 一次上下文切换。 概括来说就是:当前任务在...
2021-12-21 18:59:10
451
原创 java并发编程基础面试总结01
1 什么是多线程多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行 不同的任务。2 多线程应用场景例如: 迅雷多线程下载、数据库连接池、分批发送短信等。3 为什么要使用并发编程 提升多核CPU的利用率: 一般来说一台主机上的会有多个CPU核心,我们可以创建多个线程,理论上讲操作系统可以将多个线程分配给不同的CPU去执行,每个CPU执行一个线程,这样就提高了 CPU的使用效率,如果使用单线程就只能有一个CPU核心被使用。 比如当我们...
2021-12-16 17:30:19
615
原创 Undertow介绍
Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器1特点轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心 Jar 包组成,加载一个 Web 应用可以小于 10MB 内存Servlet3.1 支持:它提供了对 Servlet3.1 的支持WebSocket 支持:对 Web Socket 完全支持,用以满足 Web 应用巨大数量的客户端嵌套性:它不需要容器,只需通过 API 即可快速搭建 Web 服务器2...
2021-11-25 16:25:46
1938
原创 IoC和AOP
什么是 IoC? IoC 解决了什么问题? IoC 和 DI 的区别? 什么是 AOP? AOP 解决了什么问题? AOP 为什么叫做切面编程?IoC & AOP 不是 Spring 提出来的,它们在 Spring 之前其实已经存在了,只不过当时更加偏向于理论。Spring 在技术层次将这两个思想进行了很好的实现。1、什么是 IoCIoC (Inversion of control )控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java 开发领域对象的创建以及
2021-11-24 18:21:15
149
原创 Centos7 防火墙开放端口,查看状态,查看开放端口
CentOS7 端口的开放关闭查看都是用防火墙来控制的,具体命令如下:查看防火墙状态:(active (running) 即是开启状态)[root@WSS bin]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor pres
2021-11-11 10:17:52
1235
原创 Center创建子用户用于并指定该用户的主目录和相关权限
要求:创建user01用户,用户的主目录是/usr/local/user01,密码是user@123456,该用户只具有760权限.操作步骤:1、打开命令行[root@admin~]# useradd -d /usr/local/user01 -m user01[root@admin~]# passwd user01输入密码user@123456[root@admin~]# chown -R user01:user01 /usr/local/user01[root@...
2021-11-01 16:01:45
278
原创 计算机组成与体系结构——流水线
流水线的概念 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。即可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。 我们都知道,在执行一条指令的过程中,最少要经历 取指分析执行 三个步骤,也就是说,假设有三个指令1 、2、 3,当我们在正常情况下,在执行指令1的时候,会首先对指令1按照以上三个步骤进行处理,处理完毕后在对指令2进行处理,以此类推。而流水线的应用,就是像我们在工厂中一样,当对...
2021-09-09 17:31:11
1381
原创 记录windows下搭建前端开发环境 安装问题
问题1gyp verb check python checking for Python executable "python2" in the PATH原因分析:没有python2.7解决方案:1、快速使用以下语句完成安装npm install --global --production windows-build-tools2、自行下载pathyon2.7安装问题2不能通过https fetch解决方案:$ npm config set regist..
2021-09-08 17:06:12
113
原创 AndroidStudio无法运行,The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES
apk安装需要签名,点击运行,配置页面下方的右边有个fix,点击完成对应的配置即可。这里可以把本地的签名文件设置好,如果没有自己去生成一个签名文件,如何生成网上有答案。如何点击+按钮添加进去,配置好相关密码后,点击Apply。配置完成签名之后,在Build Variants 旋转customDebugType ->Sigining config,选择刚才设置的签名即可。然后再切换到Build Variants中,同意根据提示配置Sigining config即可。...
2021-08-17 16:43:25
2153
原创 ScrollController not attached to any scroll views.
解决办法:在对应的pageview中添加controller就可以了,忘记添加造成的。
2021-08-17 16:34:29
1332
1
原创 fatal: unable to access ‘https://xxxx/‘: SSL certificate problem: unable to get local issuer certifi
git config --global http.sslverify false
2021-07-27 15:26:30
2397
1
原创 一篇搞定Flutter面试(持续更新)
Dart 部分如果您学习过 JavaScript 或者 Java/Kotlin ,那么在学习 Dart 上难度并不大,Dart 综合了动态语言和静态语言的特性, 他也有一些自己的特点。1、Dart 属于是强类型语言 ,但可以用 var 来声明变量,Dart 会自推导出数据类型,var 实际上是编译期的“语法糖”。dynamic 表示动态类型, 被编译后,实际是一个 object 类型,在编译期间不进行任何的类型检查,而是在运行期进行类型检查。2、Dart 中 if 等语句只支持 bool 类型,swi
2021-04-22 22:53:39
5041
原创 Dart基础之Mixin
Flutter学习过程中经常遇到 mixin 类型的 Class 类,今天就简单介绍一下Mixin。1 Mixin基本介绍Mixin 是一种在多个类层次结构中重用类代码的方法;官方的介绍是:Mixin 是面向对象程序设计语言中的类,提供了方法的实现,其他类可以访问 Mixin 类的方法而不必成为其子类;Mixin 为使用它的 Class 类提供额外的功能,但自身却不单独使用(不能单独生成实例对象,属于抽象类),Mixin 类通常作为功能模块使用,在需要该功能时“混入”,而且不会使类的关系变得复杂。
2021-04-22 13:09:28
629
1
原创 Dart基础之Generics 泛型 <T>
Java开发过程中,会通过重载实现根据不同的参数类型生成类似方法(多态),进一步可以通过 泛型 进一步提取基类方法;而对于 Dart 而言,为了解决多种方式构造对象的场景,也可以通过 Dart 中的 Generics 泛型 来提取基类。GenericsGenerics 泛型是用于解决 类/接口/方法 复用性以及对不特定类型进行数据校验的一种方式;通常用 <…> 符号表示,其中参数一般用 T、E、S、K、V 字母代表;泛型优势Dart 不支持重载,所以可以通过设置多个不同名称的方法或不
2021-04-21 23:28:48
783
原创 Java几种数据类型之间转换
1、String类型变量转换成int类型变量:使用Integer类的parseInt(String )方法 如:String s = “123”;int num = Integer.parseInt(s); Float f= Integer.parseInt (s); Long lo=long. parseInt (s); Double d=double. parseInt (s); Byte b=Integer.intValue(s); Short sh=Integer.intValue(s
2021-04-20 22:37:52
166
原创 java中的静态块、静态方法
java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++中的static,都是最先初始化好的。凡是声明为static的语句(变量,方法,代码块),是在加载类的时候就执行的。在这个类第一次被调用或实例化的时候就会被执行。静态代码块只会执行一次,一般会用来初始化一些值,并且在所有对象中全局共享。所以注意:a、在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创 建类的实例对象后才可使用,而静
2021-04-20 22:28:07
1422
原创 nginx的启动,停止,重启命令(centos)
一、查询是否启动 [root@local]# ps -ef|grep nginx启动状态root 25235 1 0 19:26 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginxwww 25729 25225 0 19:26 ? 00:00:00 nginx: worker processroot 25647 19431 0 19:30 pts/0 0
2021-04-11 17:45:30
1650
原创 Flutter框架体系结构
1 运行原理在开发过程中,Flutter应用运行在一个虚拟机中,该虚拟机提供有状态的变化热重载,而不需要完全重新编译。发布时,Flutter应用直接编译成机器代码,无论是Intel x64,还是ARM指令,如果针对Web,则编译成JavaScript。该框架是开源的,采用允许的BSD许可证,并拥有一个繁荣的第三方包生态系统,补充核心库功能。2 分层框架结构Flutter被设计成一个可扩展的、分层的系统。它作为一系列独立的库存在,每个库都依赖于底层。任何一层都没有特权访问下面的一层,Framework层
2021-04-10 20:45:23
1726
4
原创 1 Flutter简介
You only win when you maintain your dignity.坚守尊严才会赢。1 什么是Flutter借用Flutter官网的https://flutter.dev/一句话介绍:“Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.”一份代码,可以让你.
2021-04-10 20:42:59
209
原创 判断一个数是否是回文数
回文数:是一种数字。如:98789, 这个数字正读是98789,倒读也是98789正读倒读一样,所以这个数字就是回文数import java.util.Scanner;public class HuiWenShu{public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = sc.nextInt
2021-04-05 21:33:23
595
原创 Flutter+FishRedux高仿网易云音乐
flutter_netease_cloud_music采用FishRedux框架与开源网易云音乐api开发的高仿网易云音乐APP,技术栈主要是:Flutter+FishRedux,目前主要是偏重APP端的UI展示,主要也是借此项目强化下Flutter和FishRedux的使用,打造一个最佳实践项目。通过这个项目也可以帮助你快速使用Flutter+FishRedux开发一个属于你自己的跨平台的APP,此项目会持续更新,欢迎watch和star~项目简介本项目主要目的是学习Flutter并实现IOS和An
2021-03-30 16:45:36
373
1
原创 Flutter升级到2.0
文章目录1 flutter channel 查看渠道2 flutter upgrade升级到最新版本3 flutter --version查看当前版本4 升级成功后,创建Flutter应用1 flutter channel 查看渠道如果没有dart sdk会先下载dart sdk。flutter一共4个分支,stable:稳定版。beta:测试版。每隔几周都会选取近几个月中最好的dev版本作为Beta版。dev:最新的经过完全测试的版本。包含新功能,但可能有一些问题。master:最新版,但未
2021-03-28 21:56:02
1357
原创 flutter常见命令
持续更新…命令作用flutter channel查看当前分支。flutter channel beta / flutter channel master更改分支。flutter upgrade更新flutter版本。要同时更新Flutter SDK和包,使用应用程序根目录(包含pubspec.yaml文件的同一目录)的flutter upgrade命令。flutter packages get获取pubspec.yaml文件中列出的所有依赖项flutte
2021-03-23 17:28:13
139
原创 Flutter 中使用自定义字体
文章目录1. 导入字体文件2. 在 pubspec.yaml 中声明字体2.1 pubspec.yaml 选项的定义3. 设置默认字体4. 将字体用于特定 Widget4.1 字体样式完整样例Flutter 可以很方便的使用自定义字体,不仅能够将其用于整个应用里,还可以用在某个单独的 widget 中。使用自定义字体具体步骤:导入字体文件在 pubspec.yaml 中声明字体设置默认字体将字体用于特定 widget1. 导入字体文件要使用字体,你需要将字体文件导入到项目中。常见的做法
2021-03-02 12:46:20
3360
原创 约瑟夫杀人法
package com.company;/** * @date on 2020/6/22 14:13 * @author longlyboyhe * @filename Josephus.java * @description 约瑟夫杀人法 */public class Josephus { public static int N = 20; public static int M = 5;//数到M就咔擦一个人 class Node{ int val;//下标 Node
2021-02-20 17:55:57
124
原创 八皇后问题
package com.company;/** * @date on 2020/6/22 14:13 * @author longlyboyhe * @filename Queen.java * @description 八皇后问题 */public class Queen { public static int num = 0;//累计方案 public static final int MAXQUEEN = 8; public static int[] cols = new int
2021-02-20 17:50:46
104
android的文件系统结构及其引导过程的初步理解
2015-12-29
华为时间管理培训 管理基本方法
2010-06-23
项目管理背景知识.pdf
2010-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人