自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 CSS3中的margin和padding

最近关于margin和padding有很多困惑,找了一些资料实践一下,做了一些笔记,后面如果忘记了也能很快回忆起来。1. 小试牛刀<!DOCTYPE html><html><head lang="en"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style>

2021-10-19 18:02:53 201

原创 async/await

公司的前端工程使用了ES6语法,最近看代码的时候还是有很多疑惑的,记录一下async/await相关知识1. async function使用谷歌浏览器开发者工具写脚本进行测试按F12打开开发者工具点击Source在左侧选择Snippets,点击New snippets创建一个新文件输入以下代码async function add(x) { let a = 1; return x + a;}add(10);运行此脚本,在控制台可以看到有结果输出返回的结果是一

2021-10-16 12:56:21 111

原创 Vue axios

1. 准备工作npm install axios2. 示例代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initia

2021-09-21 17:54:22 103

原创 Vue路由

1. 初始化npm项目npm init -y执行此命令后生成了package.json文件,此文件类似于spring项目中的pom文件2. 安装vue、vue-routernpm install vuenpm install vue-router3. 简单示例代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equ

2021-09-21 16:50:38 72

原创 Vue 计算属性和侦听器

本文讨论一下计算属性和侦听器相关的用法直接上代码1. 计算属性 <!-- HTML --> <div id="app"> 我的购物车:<br> <ul> <li v-for="(item, index) in cart" :key="index"> 商品名称:{{item.name}} 商品单价:{{item.price}} 商品库存:{{item.st

2021-09-20 17:21:17 105

原创 Vue插槽

前言:学习本章需要对Vue的组件有一定了解Vue组件基础:https://cn.vuejs.org/v2/guide/components.html1、基本示例定义一个全局组件名为 navigation-link,props中为可传递进来的属性,props中的元素通过v-bind绑定到template中,可作为属性。如果不需要绑定为属性,直接使用双层花括号引用即可 Vue.component('navigation-link', { props: ['url', 'name', 'title']

2021-09-13 18:16:36 106

原创 JS修改数组中对象属性名称

后端响应给前端的数组中对象属性名称不是我们想要的,可通过此方法进行转换。转换过后,原响应体并未发生改变。当数据量巨大可考虑将响应体转换为JSON,替换字符串即可 const data = { totalEmelents: 100, list: [ { id: 0, name: "a" }, { id: 1, name: "b" }, { id: 2, name: "c" }, ] } const myList = data.list.map(item

2021-09-13 17:06:07 2264

原创 synchronized和volatile

1、synchronized当多个线程同时访问一个对象的同步方法时,同一时间只能有一个线程得到执行,其他线程必须等待当前线程执行完之后再依次执行。当有线程正在执行一个对象的同步方法时,其他线程仍可访问此对象的非同步方法。当有线程正在执行一个对象的同步方法时,其他线程不能访问此对象的任意一个同步方法。因为当有线程开始执行一个对象的同步代码块或同步方法,它就获取到了此对象的对象锁,此时其他线程对该加锁对象的所有同步代码部分的访问都将被阻塞。2、volatile对于并发编程来说,线程间通信和线程

2021-08-31 11:07:33 245

原创 Windows使用RocketMQ和RoctetMQ-Console

1. 配置并启用RocketMQ下载并配置RocketMQ下载:http://rocketmq.apache.org/dowloading/releases/本文使用的是4.3.0版本下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.3.0/下载 rocketmq-all-4.3.0-bin-release.zip解压压缩包,得到文件夹将此文件夹更名为 rocketmq配置环境变量启动RocketMQ

2021-04-13 16:11:20 192

原创 BeanPostProcessor的简单使用

日常使用到 BeanPostProcessor 的场景不多,因此不是特别熟悉,查阅了一些资料,写了个Demo,记录下来,遇到问题希望能提供一些解决的思路。简介接口定义如下:public interface BeanPostProcessor { @Nullable default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; }

2021-03-30 14:21:17 720 2

原创 CommandLineRunner和ApplicationRunner

用途测试Spring Boot应用程序时,有的人习惯写测试用例,有的人习惯写Controller,手动去调用进行测试。有时候我会使用 CommandLineRunner 或 ApplicationRunner 进行测试。测试的方法很简单,直接让带有 @SpringBootApplication 的类实现 CommandLineRunner 并实现它的方法,运行项目即可。CommandLineRunner 示例如下:@SpringBootApplicationpublic class DemoAppl

2021-03-29 18:11:59 283

原创 Spring Init method 和 destroy method 的几种使用方式

1、@Bean注解方式public class TestBean { public TestBean() { System.out.println("constructor"); } /** * 初始化的方法名称不一定要使用init, * 使用init主要是为了使类结构更清晰,并且不会让人误以为此方法是一个普通方法 */ public void init() { System.out.println("init"); } /**

2021-03-29 14:38:56 852 3

原创 RocketMQ中MessageExt属性

brokerName:broker名称queueId:记录MessageQueue编号,消息在Topic下对应的MessageQueue中被拉取storeSize:记录消息在Broker存盘大小queueOffset:记录在ConsumeQueue中的偏移sysFlag:记录一些系统标志的开关状态,MessageSysFlag中定义了系统标识bornTimestamp:消息创建时间,在Producer发送消息时设置bornHost:记录发送改消息的producer地址storeTimestam

2020-09-20 09:54:26 5898 3

原创 固态硬盘安装系统

下载操作系统下载操作系统镜像在MSDN下载,下载的系统很干净https://msdn.itellyou.cn/或者百度搜索MSDN做PEPE (Preinstallation Environment) 预安装环境比较好用的软件是微PE工具箱wepe.com.cn下载好后,电脑插上U盘。把微PE工具箱安装到U盘中即可,安装的时候使用推荐设置就可以,不用修改拆机,安装固态硬盘固态硬盘分区GPT+UEFI开机按F12选择U盘启动打开DiskGenius选择固态硬盘,点击快速分区选择

2020-08-29 21:04:34 2005

原创 HashMap和Hashtable的区别

HashMap允许用null作为键值对的键或值。Hashtable不允许,在存键为null或值为null的键值对时会抛出NullPointerExceptionHashMap为线程非安全。Hashtable为线程安全,Hashtable的方法用synchronized修饰HashMap循环遍历只有一组方法,这个两个方法是由Map接口提供的。keySet()返回键的Set集合 values()...

2020-02-18 10:37:54 93

原创 类访问修饰符

类内部 同一个包 子类 任何地方public y y y yprotected y y ydefault y yprivate ypublic和protected都可以作用于子类,即被子类重写。父类和子类存在同名静态方法时访问的是父类的方法,子类并不能覆盖父类的方法...

2020-02-18 10:21:04 157

原创 牛客网刷题

2019年9月nowcoder刷题记录关于负数取余的运算,结果的符号和被除数相同———————————————————————————————————构造方法名必须与类名相同。方法名可以与类名相同———————————————————————————————————关于构造方法的调用:在类的其他构造方法中可以用this()的方式调用本类中其他构造方法在一个类的子类中可以通过super...

2020-02-18 10:15:08 380

原创 网络编程

Socket:计算机操作系统用于网络通讯的端点传输层实现端到端的通信,因此,每一个传输层连接有两个端点。那么,传输层连接的端点是什么呢?不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口。传输层连接的端点叫做套接字(socket)。根据RFC793的定义:端口号拼接到IP地址就构成了套接字。套接字实际上是一个通信端点。例如,如果IP地址是210.37.145.1,而端口号是23,...

2020-02-16 12:10:29 141

原创 快速排序

static int i = 1; public static void main(String[] args) { int[] arr = new int[] {9, 5, 7, 2, 6, 4}; quickSort(arr, 0, arr.length - 1); System.out.println(Arrays.toStri...

2020-02-14 14:52:48 95

原创 选择排序

int[] nums = new int[]{3, 36, 22, 5, 87};for (int i = 0; i < nums.length - 1; i++) { int minIndex = i; for (int j = i + 1; j < nums.length; j++) { if (nums[j] < nums[minI...

2020-02-13 17:38:14 84

原创 冒泡排序

int[] nums = new int[]{3, 36, 22, 5, 87};for (int i = 0; i < nums.length - 1; i++) { for (int j = 0; j < nums.length - 1 - i; j++) { if (nums[j] > nums[j+1]) { in...

2020-02-13 16:42:54 64

空空如也

空空如也

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

TA关注的人

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