自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 java--JUC快速入门(彻底搞懂JUC)

java–JUC快速入门(彻底搞懂JUC)文章目录java--JUC快速入门(彻底搞懂JUC)1、学习多线程之前需要知道的一些概念。2、JUC的结构3、Lock锁(重点)4、集合类不安全5、Callable()6、常用的辅助类7、读写锁8、阻塞队列9、线程池1、学习多线程之前需要知道的一些概念。1.1 JUC是什么?JUC是java.util.concurrent包的简称,在Java5.0添加,目的就是为了更好的支持高并发任务。让开发者进行多线程编程时减少竞争条件和死锁的问题!...

2021-05-08 23:39:27 100780 13

原创 Netty入门--传统IO与NIO详解

Netty学习知识点系列

2022-11-28 15:47:52 583 1

原创 图解HTTP非对称加密算法

非对称加密算法非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行

2021-09-07 17:10:26 861

原创 Spring IOC

IOC容器1)IOC底层原理ioc基本概念(控制反转):把对象的创建和对象之间的调用过程交给Spring进行管理目的:为了降低耦合度底层:(1)xml解析、工厂模式、反射​ 原始(耦合度过于高):​ 目的:进一步解耦 工厂模式:​ IOC过程(xml、反射):(2)IOC接口(BeanFactory)1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂2、Spring提供IOC容器的两种方式:(1)BeanFactory:IOC容器的最基本的实现,Spring

2021-08-11 14:31:27 200

转载 设计七大原则

设计七大原则开闭原则:开闭原则(Open Closed Principle,OCP)的定义是:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应尽量在不修改原(是"原",指原来的代码)代码的情况下进行扩展。开闭原则的意义:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。如何

2021-08-03 14:25:46 237

原创 TDengine实现多表批量插入

TDengine实现多表批量插入有问题欢迎一起讨论Mapper类@Mapperpublic interface WavePixelMapper {int addSpo2MapBatch(@Param("spo2List") List<WavePixelDataDo> spo2List, @Param("respList") List<WavePixelDataDo> respList,

2021-07-30 14:03:00 1244

原创 无分类编址的IPv4地址

无分类编址的IPv4地址练习:路由聚合(构造超网)

2021-06-25 16:34:35 350

原创 IPV4(子网划分)

如何得到IPV4地址所在子网的网络地址?划分子网的细节减2原因(全0的为该网络的网络地址,全1的为该网络的广播地址)细节如下:

2021-06-25 16:13:16 100

原创 IPv4(分类编址)

目录标题什么是IPv4地址?IPv4地址采用什么表示方法?A类地址B类地址什么是IPv4地址?IPv4就是internet上每一台主机(或者路由器)的每一个接口分配在全世界范围内唯一的32比特的标识符IPv4编址方法经历的三个阶段:IPv4地址采用什么表示方法?采用了点分十进制表示方法(为了方便阅读)举例如下:十进制转二进制:分类编制的ipv4:A类地址B类地址...

2021-06-22 11:47:44 809

原创 什么是TCP/IP协议栈?

Internet是互联网用户数量最多的互联网,它使用的是TCP/IP协议栈。具体分为四层如下:

2021-06-21 16:04:41 187

转载 不同路径leetcode

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下 -> 向右 ->

2021-05-28 10:06:28 71

原创 CAS(CAS底层原理+CAS会产生的问题及解决方法)

CAS的详细讲解!CAS是什么?CAS底层原理CAS的缺点什么是ABA问题AtomicReference(原子引用)AtomicStampedReference(版本号原子引用)CAS是什么?比较并交换(compareAndSwap)它是原子类实现的的底层原理:package CAS;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;public class CASD

2021-05-21 10:21:07 536

原创 volatile关键字之最通俗易懂的讲解(可见性、不保证原子性、禁止指令重排)

volatile是什么?对volatile的理解?volatile是java虚拟机提供的轻量级的同步机制,有三大特性:1. 保证可见性2. 不保证原子性3. 禁止指令重排JMM内存模型之可见性可见性代码验证:没有加volatile关键字之前package VolatileDemo;import java.util.concurrent.TimeUnit;class Data{ int number=0; /*设置一个修改number的方法*/ public

2021-05-19 21:27:25 425

原创 常用设计模式之单例模式(多种实现方式:懒汉、饿汉、枚举、内部类)

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。实现方式一:饿汉子式/*/*饿汉子式* 在类加载阶段直接创建实例对象,不管你是否需要这个对象*/public class hungryman { public static

2021-05-18 00:05:36 126

原创 java--线程池(3大方法、7大参数、四种拒绝策略)

什么是线程池?线程池:一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。线程池的好处:1.降低资源消耗2.提高响应速度3.方便管理线程池: 三大方法创建线程池的三大方法如下: ExecutorService service = Executors.newSingleThreadExecutor();//单个线

2021-05-08 11:06:34 3343

原创 HTTP详解及HTTP1.0与HTTP1.1的区别?

关于http协议的知识点是我们面试中常常问到的又非常重要的知识点!这里我就对此知识点进行详细的分析及理解!觉得不错的可以帮忙点赞收藏!有什么问题也可以提出一起讨论交流。什么是HTTP协议?超文本传送协议,在浏览器与服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议。万维网的大致工作流程如下图:①、建立TCP连接②、HTTP请求报文③、HTTP响应报文④、释放TCP连接1、HTTP使用了面向连接的TCP作为运输层协议,确保了数据的可靠传输。HT

2021-04-29 00:09:08 1381

原创 leetcode打家劫舍

213. 打家劫舍 II你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,能够偷窃到的最高金额。示例 1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 =

2021-04-16 09:53:06 94

原创 计算机网络之细致理解物理层

物理层的基本概念物理层如何解决在连接各种计算机的传输媒体上的传输数据比特流,而不是具体的传输媒体。物理层的主要任务:确定与传输媒体接口有关特性===》定义标准数据通信的基础知识数据通信相关术语通信的目的就是传送消息。数据:传送消息的实体,通常是有意义的符号序列。信号: 数据的电气/电磁的表现,是数据在传输过程的存在形式。三种通信方式两种数据传输方式...

2021-02-22 10:18:54 162

原创 计算机网络知识总结

1.1.1概念、组成、功能和分类网络体系结构:协议 典型网络 以太网计算机网络概念计算机网络:是一个分散的、据元独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的,自治的计算机集合互连-互相连通 通信链路资质-无主从关系计算机网络的功能:1、数据通信(连通性)2、资源共享(软硬件 数据)3、分布式处理 多台计算机各自承担统一工作任务的不同部分4、提高可靠性5、负载均衡 各计算机之间更加的亲密、、、、、、组成

2021-02-10 21:17:50 175

原创 如何实现Fragment的滑动?

如何实现Fragment的滑动?首先将Fragment与viewpager绑定,通过viewpager中的touch事件,会进行move事件的滑动处理//fragment one<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:l

2020-12-04 15:41:14 460

原创 解决properties、xml等配置文件无法找到问题

properties、xml等配置文件无法找到问题报错原因: Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource db.propertiesjava java.io.IOException: Could not find resource mybatis-config

2020-12-03 19:45:38 1851

原创 使用Viewmodel和binding写一个篮球比赛计分器

篮球比赛计分器创建一个 Myviewmodel继承ViewModelpackage com.example.study_demo.ViewModels;import android.arch.lifecycle.MutableLiveData;import android.arch.lifecycle.ViewModel;public class Myviewmodel extends ViewModel { private MutableLiveData<Integer>

2020-10-27 21:55:28 476

原创 ViewModelProviders弃用后最新用法,ViewModelProvider不能再使用一个参数。

ViewModelProviders弃用后最新用法ViewModelProviders启用之后使用ViewModelProvider代替。 viewModelWithliveData = new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(ViewModelWithliveData.class);注意:ViewModelWithliveData类要为Public...

2020-10-22 12:50:19 9518 7

auto_deploy.sh

springcloud多模块jar自动化部署脚本 用法:上传至linux,进入所在目录(与jar包同级),执行以下命令。 ./ auto_deploy.sh restart 重启 ./ auto_deploy.sh stop 关闭 ./ auto_deploy.sh start 开启

2021-12-01

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

TA关注的人

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