自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

压缩疯雷的博客

个人积累

  • 博客(111)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Logback 配置文件学习

Logback配置自身的步骤1.在classpath下尝试找一个叫作"logback-text.xml"文件2.如果没有找到该文件.检查在classpath下的"logback.xml"3.如果没有找到该文件.服务提供的加载工具 ServiceLoader (introduced in JDK 1.6)将被使用.解决 com.qos.logback.classic.spi.Configurator 接口实现,通过寻找 class路径下"META-INF\services\ch.qos.logback.

2022-04-21 23:35:11 825

翻译 00.协程指南

协程官方文档翻译

2022-03-31 10:51:43 112

原创 存储

内部存储 SharedPreferences用于不许一些类似登录的配置信息.本质上是一个xml文件,是通过类似键值对的方式存放信息.位于程序的私有目录中,即data/data/[packageName]/shared_prefs操作模式MODE_APPEND:追加方式存储MODE_PRIVATE:私有方式存储,其他应用无法访问MODE_WORLD_READABLE:可被其他应用读取MODE_WORLD_WRITEABLE:可被其他应用写入代码示例获取SharedPreferences对象

2021-05-01 16:39:58 153

原创 Swing类结构和JFrame结构

2021-01-14 14:57:50 132

原创 git入门操作

git入门操作检查git版本配置用户名和邮箱文件基本操作提交查看状态查看日志添加文件删除文件重命名文件移动文件移动文件并重命名查看文件前后变化版本管理一键还原撤销暂存操作回滚到指定版本仅恢复指定文件到指定版本远程仓库生成 ssh key 密钥本地初始化并上传到仓库克隆提交到远程仓库版本标签管理创建标签查看标签删除标签推送标签到远程仓库分支查看分支创建分支切换分支删除分支创建并切换到分支合并分支到主分支解决合并分支时的冲突查看版本路线删除不想要的分支不同人修改了不同文件不同人修改了相同文件http://ww

2020-12-29 13:54:41 143

原创 时间的基本概念

UTC 世界调和时间是国际时间的标准,我们提及UTC时,它一定是一个确定的值,不受时区影响。GMT 格林威治时间与UTC的时间是一致的,但我们说起GMT的时候其实指的就是零时区的时间,它现在已经不是时间标准了。Epoch 纪元,时代我们通常在计算机程序中使用的时间都是从UTC时间1970年1月1日0时0分0秒开始的一个整数,这是Unix的计时方法,Unix系统是对C标准的扩展标准POSIX也采用了这样的规定,因此这个起始时间就被称为Unix Epoch。现今绝大多数编年史语言例如Java、Java

2020-12-24 21:39:06 209

原创 常用的java运行时系统属性值获取

代码是kotlin写的。不要介意。// println("Java运行时环境版本:" + System.getProperty("java.version"))// println("Java 运行时环境供应商:" + System.getProperty("java.vendor"))// println("Java 供应商的URL:" + System.getProperty("java.vendor.url"))// println("Java安装目录:" + Syst

2020-12-17 10:43:59 103

原创 C语言编译过程流程图

2020-12-11 16:10:48 1941 1

原创 C语言两种方式实现斐波那契数列(递归和迭代)

//// Created by leo on 2020/12/11.//#include <stdio.h>/* * 斐波那契数列 * 规则 f(n)=f(n-1)+f(n-2) * 初值 f(0)=0,f(1)=1 (终止条件) */unsigned int Fibonacci(unsigned int n) { if (n == 1 || n == 0) { return n; } else { return Fibonacci(n - 1)

2020-12-11 15:46:25 652

原创 C函数原型

//// Created by leo on 2020/12/11.//#include <stdio.h>//不指定返回类型时,返回为int//表示没有参数时,使用void. 不写表示不知道有几个参数void EmptyParamList(void){ puts("Hello");}//函数原型。声明一个函数:函数名,返回值类型,默认为int,参数列表,参数类型和顺序,参数形参名不重要int Add(int left, int right);int Add2(i

2020-12-11 15:05:04 127

原创 C猜数字游戏

//// Created by leo on 2020/12/11.//#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <time.h>int main(){ srand(time(NULL)); int magic_number=rand();// printf("Answer is:%d\n",magic_number);

2020-12-11 14:51:01 61

原创 jlink生成精简jre

打开命令行工具,进入到jdk目录。使用jdeps.exe查找项目依赖jmodbin\jdeps.exe --multi-release 11 --print-module-deps D:\code\power-observer\build\install\power-observer\lib\k*.jar打印出的结果java.base,java.instrument,jdk.unsupported–multi-release 11 :由于本例是查询的jar包为多版本的,因此指定了java.

2020-12-10 13:08:17 817 1

原创 C基本数据类型

修改CMakeList.txtcmake_minimum_required(VERSION 3.17)get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME)string(REPLACE " " "_" ProjectId ${ProjectId})project(helloworld C)set(CMAKE_C_STANDARD 11)file(GLOB files "${CMAKE_CURRENT_SOURCE

2020-11-30 16:06:30 95

原创 Windows环境搭建C语言开发环境

C语言环境搭建安装Visual Studio 2019MinGW安装开发包更新包数据库和核心系统包安装我们的开发工具安装mingw安装WSL(非必须)安装Clion配置Clion安装Visual Studio 2019下载Visual Studio Installer 社区版下载地址: https://visualstudio.microsoft.com/zh-hans/downloads/下载后启动,勾选C++桌面开发之后是漫长的等待安装完成后重启MinGW下载安装msys2包管理工具:

2020-11-30 14:51:45 824

原创 JDK环境变量

变量名变量值JAVA_HOMED:\soft\jdk\jdk-11.0.8path%JAVA_HOME%\jre\binpath%JAVA_HOME%\jre\binCLASSPATH.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

2020-11-15 18:55:38 59

原创 float数据格式

通常浮点数(Floating Point Number)格式采用IEEE-754标准(32),用四个字节共32位表示。浮点数格式如下:D31D30~D23D22~D0浮点数符号位阶码尾数符号位 s(Sign)决定数是正数(s=0)还是负数(s=1),而对于数值 0 的符号位解释则作为特殊情况处理。有效数字位 M(Significand)是二进制小数,它的取值范围为 1~2-ε,或者为 0~1-ε。它也被称为尾数位(Mantissa)、系数位(Coefficien

2020-11-13 10:43:25 5254

原创 Gradle安装流程

确保安装JDK,使用java -version检查本地java环境从gradle官网下載gradlehttps://gradle.org/releases/下载binary-only即可配置环境变量GRADLE_HOME->指向解压后的目录添加到path ->%GRADLE_HOME%\bin验证是否安装成功gradle -v注意要在配置完全后打开的命令行窗口才能找到gradle命令...

2020-11-09 13:14:55 97

原创 win10家庭版添加管理员

尝试新建一个英文的本地账户请参考以下步骤Win+X,选择命令提示符(管理员),然后输入以下指令(也可以右键复制粘贴):net user 用户名 密码 /add 创建本地账户net localgroup administrators 用户名 /add 赋予账户管理员权限。...

2020-11-08 23:25:15 284

原创 kotlin实现Python Generator

使用kotlin协程实现Generator并支持传入初始参数package leo.demoimport kotlin.coroutines.*/** * 序列接口 */interface Generator<T> { operator fun iterator(): Iterator<T>}/** * 序列实现类 */class GeneratorImpl<T> (private val block: suspend Gene

2020-11-04 10:46:18 335

原创 Vue入门-组件基础

组件基础基本示例组件的复用data 必须是一个函数组件的组织通过 Prop 向子组件传递数据单个根元素监听子组件事件使用事件抛出一个值在组件上使用 v-model通过插槽分发内容动态组件解析 DOM 模板时的注意事项基本示例这里有一个 Vue 组件的示例:// 定义一个名为 button-counter 的新组件Vue.component('button-counter', { data: function () { return { count: 0 } },

2020-10-20 10:43:49 237

原创 Vue入门-表单输入绑定

表单输入绑定基础用法文本多行文本复选框单选按钮选择框单选时多选用 v-for 渲染的动态选项值绑定复选框单选按钮选择框的选项修饰符.lazy.number.trim在组件上使用 v-model基础用法你可以用 v-model 指令在表单 、 及 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。v-model 会忽略所有表单元素的 value、checked

2020-10-19 17:39:40 132

原创 Vue入门-事件处理

事件处理监听事件事件处理方法内联处理器中的方法事件修饰符按键修饰符按键码系统修饰键.exact 修饰符鼠标按钮修饰符为什么在 HTML 中监听事件?监听事件可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。<div id="example-1"> <button v-on:click="counter += 1">Add 1</button> <p>The button above has been cli

2020-10-19 17:03:07 253

原创 Vue入门-列表渲染

列表渲染用 v-for 把一个数组对应为一组元素在 v-for 里使用对象维护状态数组更新检测替换数组注意事项显示过滤/排序后的结果在 v-for 里使用值范围在 上使用 v-for在组件上使用 v-for用 v-for 把一个数组对应为一组元素我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组,而 item 则是被迭代的数组元素的别名。<ul id="example-1"> &

2020-10-19 16:43:10 728

原创 Vue入门-条件渲染

条件渲染v-if在 元素上使用 v-if 条件渲染分组v-elsev-else-if用 key 管理可复用的元素添加keyv-showv-if vs v-showv-if 与 v-for 一起使用v-ifv-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回truthy1值的时候被渲染。<h1 v-if="awesome">Vue is awesome!</h1>也可以用 v-else 添加一个“else 块”:<h1 v-if="awesome"

2020-10-19 16:03:51 96

原创 Vue入门-Class 与 Style 绑定

Class 与 Style 绑定绑定 HTML Class对象语法数组语法三元表达式用在组件上绑定内联样式数组语法自动添加前缀多重值操作元素的 class 列表和内联样式是数据绑定的一个常见需求。因为它们都是 attribute,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可。不过,字符串拼接麻烦且易错。因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强。表达式结果的类型除了字符串之外,还可以是对象或数组。绑定 HTML Class

2020-10-19 15:33:57 124

原创 Vue入门-计算属性和侦听器

计算属性和侦听器计算属性基础例子计算属性缓存 vs 方法计算属性 vs 侦听属性计算属性的 setter侦听器计算属性模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如:<div id="example"> {{ message.split('').reverse().join('') }}</div>在这个地方,模板不再是简单的声明式逻辑。你必须看一段时间才能意识到,这里是想要显示变量 message 的翻

2020-10-19 15:08:28 152

原创 Vue入门-模板语法

模板语法插值文本v-once原始 HTMLAttribute使用 JavaScript 表达式指令参数动态参数对动态参数的值的约束对动态参数表达式的约束修饰符缩写v-bind缩写v-on 缩写Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML,所以能被遵循规范的浏览器和 HTML 解析器解析。在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数。结合响应系统,Vue 能够智能地计算出最少需要重

2020-10-19 14:42:01 82

原创 Vue入门-Vue实例

Vue实例创建一个Vue实例数据与方法Object.freeze()实例property与方法生命周期创建一个Vue实例每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的:var vm = new Vue({ // 选项})虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变量名表示 Vue 实例。当创建一个 Vue 实例时,你可以传入一个选项对象。作为参考,你也可以在 API文

2020-10-19 13:57:38 58

原创 Vue入门-入门案例

入门案例声明式渲染条件 v-if循环 v-for处理用户输入 v-onVue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:声明式渲染文本插值<div id="app"> {{ message }}</div>var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' }})除了文本插值,我们还可以像这样来绑定元素 attribute:&lt

2020-10-19 13:05:27 132

原创 Vue入门-HelloWorld

目录Vue简介Vue安装Vue.js下载CDNNPM命令行工具 (CLI)helloworld案例Vue简介Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。本教程基于2.x版本学习Vue需要了解关于 HTML、CSS 和 JavaScript 的知识。Vue安装不推荐新手直接使用 vue-cli,尤其是在你还不熟悉基于 Node.js 的构建工具时。使用 Vue.js 最简单的方法是直接下载并用 script 标签引入。Vue.js下载开发环境版下载

2020-10-19 12:07:36 254

原创 指令入门

计算机指令_汇编指令入门助记符寻址模式(Addressing Model)寄存器寻址立即寻址偏移量寻址PC相对寻址指令类型内存读写数学运算浮点数浮点小数![在这里插入图片描述](https://img-blog.csdnimg.cn/20200917115650130.png#pic_center)比较运算条件跳转总结计算机通过指令指挥计算机工作.CPU被时钟驱动,不断的读取PC指针指向指令,并增加PC指针,从内存中读取指令并执行.(周而复始)不同的CPU架构使用不同指令.目前使用最广泛的是RISC

2020-09-17 12:05:09 119

原创 CPU工作原理

2020-09-17 11:31:47 157

原创 什么是计算机

计算机状态状态转换函数状态转换表太大怎么办?输入输出思考:构成计算机需要哪些要素状态输入时钟作为一种标准输入另一种最好可以读取人类想法状态转换函数F(将输入和当前状态转换为下一个状态)输出状态如何描述状态?数字可以-一切皆可以用数字表示ASCII动物植物分类商品中文一个数字不够(需要数组)状态转换函数一个表格就可以,将接收到的输入I变成新的状态S状态转换表太大怎么办?思考 :鼠标在1024*768的屏幕上有786432种位置,因此对应了786432种状态

2020-09-17 11:12:58 87

原创 泛型编程

如果说面向对象是一种通过间接层来调用函数,以换取一种抽象,那么是更直接的抽象,它不会因为间接层而损失效率不同于面向对象的动态期多态,一种静态期多态,通过编译器生成最直接的代码泛型编程可以将算法与特定类型,结构剥离,尽可能利用代码.例/*int max(int a,int b){ return a>b?a:b;}*/template<class T>T max(T a,T b){return a>b?a:b;}//特化template<&gt.

2020-09-15 15:16:51 73

原创 C++的类型转换

隐式类型转换比如 double f1.0/2;比如:couble f=10.2显式类型转换(类型说明符)(表达)比如: double f=double(1)/double(2);C类型转换的问题任意类型之间都可以转换,编译器无法判断其正确性难与定位,在源代码中无法快速单位C++的类型转换.const_cast用于转换指针或引用,去掉类型的const属性int main(){ const int a = 10; //int* pA = &a; int* pA=c

2020-09-15 14:41:12 68

原创 C++中void*,NULL和nullptr

在C语言中#define NULL((void*)0)在C++语言中#ifndef NULL#ifdef_cplusplus#define NULL 0#else#define NULL((void*)0)#endif#endif在C++11中,nullptr用来代替(void*)0,NULL只表示0;

2020-09-15 11:59:59 325

原创 C++面向对象

抽象面向对象三大特性面向对象#include "stdafx.h#include <iostream>using namespace std;//抽象class Shape{public: virtual double Area() const(return 0;);//子类实现不一致,加virtual void Display() { cout<<Area()<<endl; }}class Square:public Shape{p

2020-09-15 10:38:36 51

原创 C++头文件重复包含问题

为了避免同一个文件被include多次,有两种方式:1#ifdef _SOMEFILE_H_#define _SOMEFILE_H_#endif使用宏宏来防止同一个文件被多次包含;优点:可移植性好缺点:无法防止宏名重复,难以排错 #pragma once使用编译器来防止同一个文件被多次包含优点:可以防止宏重复,易排错缺点:可移植性不好...

2020-09-14 14:55:55 188

原创 C++IO流基础

传统的C中I/O有prinft,scanf,getch,gets等函数,它们的问题是:不可编程,仅仅能识别固有的数据类型。代码的可移植性差,有很多的坑;**C++**中的I/O流istream,ostream等:可编程,对于设计者来说很有用。简化编程,能使得I/O的风格一致。IO缓存区标准IO提供的三种类型的缓存模式:按块缓存:如文件系统;按行缓存: \n不缓存#include "stdafx.h"#include <iostream>using name

2020-09-14 14:43:14 112

原创 C++面向对象

C++使用struct,class来定义一个类:struct的默认成员权限是publicclass的默认成员权限是privateclass Student{ private: string name; double score; public: double GetScore(){ return score; }}让自定义的类像内置类型一样如果现在有一个自定义的复数类型,那么它的操作应该是可以像使用int一样自然的使用它,同时它对我们是一个黑盒,一种抽象Compl

2020-09-11 17:18:52 62

kotlin协程入入门100例

kotlin语言协程入门案例。摘抄自官网。你也可以去官网查看官文档。全部是入门案例。包括协程基本概念,取消和超时,组合挂起函数,协程上下文和调度器,异步流,通道,异常处理与监听,并发,Select表达式(实验性的)

2020-11-22

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

TA关注的人

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