自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (5)
  • 收藏
  • 关注

原创 教你不编程快速解析 JSON 数据

JSON 是一种轻量级的,不受语言约束的数据存储格式,大部分编程语言都可以解析它,并且对编程人员也十分友好。我们在进行通讯/数据交互时,非常经常用到 JSON 格式。但是,我们在进行数据存储的时候,JSON 格式是以一行的数据进行存储,阅读起来的话也会有些困难。所以,为了更加便于阅读,我们可以采用一些方法对 JSON 数据进行格式化。在各种编程语言里,都会有一些相应的库为我们解析 JSON 数据,比如 C 语言里有 cjson ,Python 里有 json.tool ,等等。那在 Linux 平台下

2020-07-31 19:44:44 670

原创 教你在 Linux 下时光穿梭

时光穿梭?电影里的桥段吧?良许你又在唬人?非也非也,良许在这里要给大家介绍 touch 命令,有了它你就可以改变时间戳,达到时光穿梭的目的。touch 命令在我们的工作中使用也相当频繁,我们就由浅到深来详细讲解。touch 命令基本用法提起 touch 命令,大家想到的肯定是它的两个用法:改变时间戳创建新文件这两种用法大家在工作中早已用腻了,良许就不再赘述了。防止创建文件如果在 touch 后面直接跟上一个文件名,该文件如果不存在的话,将创建一个相应名字的文件。那么如果我们只想改变文件

2020-07-30 20:07:00 720

原创 在Linux系统中使用Vim读写远程文件

大家好,我是良许。今天我们讨论一个 Vim 使用技巧——用 Vim 读写远程文件。要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件。从 Vim 7.x 开始,netrw.vim 就被设置为默认安装的标准插件了。这个插件允许用户通过 ftp、rcp、scp、http 等协议读写、编辑和浏览远程文件。插件 netrw 是什么?netrw(面向网络的读写和浏览 Network oriented reading, writing and browsing)插件不仅支持本地和远程终端跨网络编辑

2020-07-29 20:15:27 2473 1

原创 Linux重定向用法详解

大家好,我是良许。相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢?答案是肯定的,那就是重定向。重定向是一种高效的方法,无需大量的鼠标与键盘操作就可以完成数据的转移。重定向可以分为输入重定向以及输出重定向这两种类型。由于所有程序都有输入或者输出,因此输入和输出的重定向是任何编程语言或脚本语言都自带的功能。每当你与计算机交互时,重定向就必然会发生。学会使用重定向,不仅可以让你与计算

2020-07-27 21:02:35 5760 1

原创 10大程序员必逛网站,良心推荐,建议收藏!

本部分内容对应视频链接。很多小伙伴在刚开始学习技术的时候,都会去找一些学习类的网站来提高自己的水平。但现在网络越来越发达,学习类的网站真的是多如牛毛。有的网站真的是非常优秀,可以让你学到不少技术,但同样也有很多网站非常垃圾,不仅浪费你的时间,还可能会误导你。下面,我就来介绍10个程序员必逛的网站,给大家做一个参考。1. B站https://www.bilibili.com/第一个网站肯定不必多说,就是我们经常逛的小破站,也就是所谓的B站。这个网站原本的定位是一个二次元动漫类的网站,可是走着走着

2020-07-25 11:11:42 13073 4

原创 Linux系统查看硬件信息神器,比设备管理器好用100倍!

大家都知道,当我们的 Linux 系统计算机出现问题时,需要对其排除故障,首先需要做的是找出计算机的硬件信息。下面介绍一个简单易用的应用程序——HardInfo,你可以利用它来显示你电脑的每个硬件方面的信息,它的好处就是不必去拆分电脑单独查看每个部件。安装HardInfo工具有的小伙伴会问如何去安装这个软件呢?我们可以在发行版的软件中心或软件包管理器中找到 HardInfo 应用程序。另外,我们也可以在 “Ubuntu”(乌班图)软件中心去获取,在这里这个应用程序叫做 System Profiler a

2020-07-24 19:01:08 2285

原创 老生再谈 IoC

IoC,Spring的核心理念之一,确实这是一个老生常谈的东西。但是今天呢!又重新温习之后,想再说说自己对IOC的一些想法。IoC——Inversion of Control,控制反转。要想理解IoC还是要从其本身出发,首先就控制而言,控制是对谁的控制——是对象的控制。其次,反转是什么的反转或者说为什么要称做反转——是对象控制权反转。对象控制,传统的方式就是程序员通过new关键字的方式来生成一个对象,然后由程序员根据程序逻辑人为地控制对象的使用。从这里出发,就可以很好地理解什么是控制反转了。所谓控制反

2020-07-23 19:16:00 389

原创 老生再谈 IoC

IoC,Spring的核心理念之一,确实这是一个老生常谈的东西。但是今天呢!又重新温习之后,想再说说自己对IOC的一些想法。IoC——Inversion of Control,控制反转。要想理解IoC还是要从其本身出发,首先就控制而言,控制是对谁的控制——是对象的控制。其次,反转是什么的反转或者说为什么要称做反转——是对象控制权反转。对象控制,传统的方式就是程序员通过new关键字的方式来生成一个对象,然后由程序员根据程序逻辑人为地控制对象的使用。从这里出发,就可以很好地理解什么是控制反转了。所谓控制反

2020-07-23 19:14:25 263

原创 我把JVM的类加载器整理了一下

前言​ 之前去面试的时候面试官问了我关于关于JVM性能调优的问题,由于自己之前公司的项目里自己没有接触到JVM性能调优的相关问题(感觉这些都是公司架构师考虑的问题),所有面试官问的时候自己一脸懵逼,所有最后的结果当然是凉凉。。,于是,为了查漏补缺,就去学习了一下JVM的相关知识,希望能帮助到大家。正文​ 在学习任何一项新的知识之前,我都会先列出一份学习大纲,然后按照这个学习大纲一步一步的来学习了解,所以学习JVM这个新的技术,我也分为了3个板块来学习:JVM类加载器,JV

2020-07-22 19:26:12 692

原创 HashMap源码实现分析

HashMap源码实现分析一、前言HashMap 顾名思义,就是用hash表的原理实现的Map接口容器对象,那什么又是hash表呢。我们对数组都很熟悉,数组是一个占用连续内存的数据结构,学过C的朋友对这一点影响肯定更为深刻。既然是一段连续的内存,数组的特点就显而易见了,一旦你知道要查第几个数据,时间复杂度就是O(1),但是对于插入操作就很困难;还有一种数据结构你也一定很熟悉,那就是链表,链表由一组指向(单向或者双向)的节点连接的数据结构,它的特点是内存不连续,查找困难,但是插入删除都很容易。那有没有

2020-07-21 20:28:00 783

原创 Linux cut 命令详解

cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中。我们可以使用 cut 命令从一行字符串中于以字节,字符,字段(分隔符)等单位截取一部分内容出来。在本文中,我们通过一些例子来了解 cut 命令的使用,这些使用方法在我们的日常工作中也是非常常用的。Cut 命令和语法cut 命令的基本语法如下:$ cut OPTION... [FILE]...我们先来了解一下 cut 的一些选项,cut 命令必须要指定选项才能执行。-f : 提取指定的字段,cut 命

2020-07-20 20:13:14 2892 1

原创 谈谈javaSE中的==和equals的联系与区别

前言==和equals是我们面试中经常会碰到的问题。那么它们之间有什么联系和区别呢?今天我们就来聊聊吧!问题这里先抛出一些比较典型笔试问题:int x = 10;int y = 10;String str1 = new String("abc");String str2 = new String("abc");String str3 = "abc";String str4 = "abc";System.out

2020-07-19 13:17:45 710

原创 聊聊Java中的异常及处理

前言在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧!异常与error介绍下面还是先让我们来看一下基本概念吧!​ 异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异

2020-07-18 16:13:50 662

原创 关于Java8的精心总结

前言​ 最近公司里比较新的项目里面,看到了很多关于java8新特性的用法,由于之前自己对java8的新特性不是很了解也没有去做深入研究,所以最近就系统的去学习了一下,然后总结了一篇文章第一时间和大家分享一下。​ ​ 在了解一项新技术之前,我们需要了解我们为什么要去学习它以及它的优点,以下是我总结的: Java8(又称jdk1.8)是java语言开发的一个主要版本,Java8是oracal公司于2014年3月发布,可以看成是自java5以来最具有革命性的版本。

2020-07-17 19:25:19 797

原创 rabbitmq+sleuth+zinkip 分布式链路追踪

我们都知道,微服务之间通过feign传递,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟超时或者错误都有可能引起整个请求最后的失败。当业务流程足够复杂时,一个完整的HTTP请求调用链一般会经过多个微服务系统,要通过日志来跟踪一整个调用链变得不再那么简单。通过sleuth可以很方便的看出每个采集请求的耗时情况,分析出哪些服务调用比较耗时,当服务调用的耗时随着请求量的增大而增大时,可以针对业务做一些优化措施。所以我们可以通过我们可以通过Sp

2020-07-16 19:24:59 1093

原创 Linux下一只五颜六色的「猫」

大家好,我是良许。有使用过 Linux 系统的小伙伴,肯定会使用过 cat 这个命令。当然,在 Linux 下,此猫非彼猫,这里的 cat 并不代表猫,而是单词 concatenate 的缩写。cat 命令是一个 Unix 或类 Unix 下文本的查看命令,同时也可以配合重定向实现合并与复制功能。它是 GNU Linux 和类 Linux 操作系统中最常用的命令之一,使用频率非常高。但是对于编程人员来讲的话,cat 命令有个问题,就是它的输出不带有任何颜色标记。如果我们用 cat 命令去查看代码文件的

2020-07-15 20:05:18 1046

原创 整理 Linux下列出目录内容的命令

在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务。当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令。但只有 ls 命令能实现这个目的吗?显然不是。下面,良许就给大家介绍Linux下列出目录内容的一些命令,一起来看看吧。lsLinux 中最常用的列出目录下内容的命令就是 ls 命令。默认情况下, ls 显示目录下的所有非隐藏内容。在显示结果里文件和目录会被显示为不同的颜色,具体显示的颜色取决于终端的配色主题。ls 命令列出的是当前所在目录的内容

2020-07-13 18:54:10 4627

原创 从封装变化的角度看设计模式——组件协作

什么是设计模式​ 要了解设计模式,首先得清楚什么是模式。什么是模式?模式即解决一类问题的方法论,简单得来说,就是将解决某类问题的方法归纳总结到理论高度,就形成了模式。​ 设计模式就是将代码设计经验归纳总结到理论高度而形成的。其目的就在于:1)可重用代码,2)让代码更容易为他人理解,3)保证代码的可靠性。​ 使用面向对象的语言很容易,但是做到面向对象却很难。更多人用的是面向对象的语言写出结构化的代码,想想自己编写的代码有多少是不用修改源码可以真正实现重用,或者可以实现拿来主义。这是一件很正常的事,

2020-07-12 21:24:22 2711

原创 从封装变化的角度看设计模式——接口隔离

封装变化之接口隔离在组件的构建过程当中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)的接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。这里的接口隔离不同于接口隔离原则,接口隔离原则是对接口职责隔离,也就是尽量减少接口职责,使得一个类对另一个类的依赖应该建立在最小的接口上。而这里所讲到的接口隔离是对依赖或者通信关系的隔离,通过在原有系统中加入一个层次,使得整个系统的依赖关系大大的降低。而这样的模式主要有外观模式、代理模式、中介者模式和适配器模式。外观模式

2020-07-11 14:37:01 573

原创 从封装变化的角度看设计模式——对象创建

封装变化之对象创建在对象创建的过程中,经常会出现的一个问题就是通过显示地指定一个类来创建对象,从而导致紧耦合。这是因为创建对象时指定类名将使你受特定实现的约束而不是特定接口的约束。这会使未来的变化更加复杂。要避免这种情况,就应该间接地创建对象。这种紧耦合的问题很大程度是由new关键字带来的,由于new的紧耦合出现,使得紧耦合的类很难独立地被复用,因为它们之间是相互依赖的。并且紧耦合产生单块的系统,要改变或者删掉一个类,就必须要理解和改变其他许多类。这也是导致系统难以维护和移植的一个重要原因。所以可以通

2020-07-10 20:52:06 976

原创 jvm之栈、堆

1. Java Virtual Machine​ 人群当中,一位叫java的小伙子正向周围一众人群细数着自己取得的荣耀与辉煌。就在此时,c老头和c++老头缓步走来,看着被众人围住的java,c老头感叹地对着身旁的c++说道:“原以为你就可以挑起我的梁子一直走下去的。”​ c++笑着回应道:“江山代有才人出,这世界以后总会是90后甚至00后的天下!”察觉到c和c++的java连忙走出人群,说道:“两位前辈谦虚了,这世界可还离不开两位前辈,我只不过是站在了两位前辈的肩上罢了。”​ “你这小子可是

2020-07-09 20:59:42 526

原创 Linux下diff命令用法详解

大家好,我是良许。我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点。在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也有很多很强大的工具,良许之前也写过一篇文章介绍:Linux下9种优秀的代码比对工具推荐这些比对工具其实都是基于 diff 命令,下面就详细介绍一些 diff 命令的用法。diff 命令是一个分析文件信息的命令,可以打印出文件之间的差异。它可以逐行地比较两个文件的内容,也可以递归地比较文件夹的内容。diff

2020-07-08 21:43:11 2798

原创 Java工具类之:包装类

我们都知道,JDK 其实给我们提供了很多很多 Java 开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工具类,你会发现它能很大程度的帮你节省时间,能很方便的实现你的需求。当然,没有这些包,你也能实现你的需求,但是你需要时间,今天我们主要是来学习一下包装类。一、包装类介绍1、为什么需要包装类?我们知道 Java 语言是一个面向对象的编程语言,但是 Java 中的基本数据类型却不是面向对象的,但是我们在实际使用中经常需要将基本数据类型转

2020-07-07 21:12:33 412

原创 Linux系统中虚拟设备文件的各种实用用法

大家好,我是良许。大家知道,在 Linux 下,一切皆文件,对于设备文件也是如此。我们在工作的过程中,经常会看到 /dev/null 这个玩意,那它到底是什么呢?专业地讲,/dev/null 是一个虚拟设备文件。而对程序而言,这些虚拟设备文件则会被当成真实的文件对待。程序可以向这种数据源请求数据,所得到的数据将由操作系统提供。但是,这些数据并不是从磁盘上读取到的,而是由操作系统动态生成的。虚拟设备文件的一个典型例子就是 /dev/zero 。然而,当你想向 /dev/null 写入数据时,无论你向 /

2020-07-06 23:51:26 773

原创 SpringBoot集成Spring Security

1、Spring Security介绍Spring security,是一个强大的和高度可定制的身份验证和访问控制框架。它是确保基于Spring的应用程序的标准 ——来自官方参考手册Spring security 和 shiro 一样,具有认证、授权、加密等用于权限管理的功能。和 shiro 不同的是,Spring security拥有比shiro更丰富的功能,并且,对于Springboot而言,Spring Security比Shiro更合适一些,因为都是Spring家族成员。今天,我们来为

2020-07-05 15:39:23 1181

原创 java实现冒泡排序

冒泡排序:算法重复走访要排序的数列,一次比较两个元素,如果它们顺序错误就交换它们的位置,这样最大的数就到了最后,重复操作即可得到有序数列。冒泡排序算法运行: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3. 针对所有的元素重复以上的步骤,除了最后一个。 4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。代码实现: public s

2020-07-04 20:52:24 2814

原创 使用telnet测试指定端口的连通性

大家好,我是良许。大家知道,telnet 是一个阉割版的 ssh ,它数据不加密,数据容易被盗窃,也容易受中间人攻击,所以默认情况下 telnet 端口是必须要被关闭的。telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性。确认远程主机的端口在测试端口的连通性之前,我们先使用 nmap 命令来查看目标服务器的端口开放状态。$ nmap lxlinux.net使用telnet测试端口的连通性在确认了目标服务器的端口开放性之后,我们就可以使用

2020-07-03 19:59:06 3808 2

原创 聊聊Java中的异常及处理

前言在编程中异常报错是不可避免的。特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时。今天就让我们来看看什么是异常和怎么合理的处理异常吧!异常与error介绍下面还是先让我们来看一下基本概念吧!​ 异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。异常机制本质就是当程序出现错误,程序安全退出的机制。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对

2020-07-02 20:22:12 367

原创 Java工具类——数学相关的类

Java工具类——数学相关的类在上一篇文章中,我们系统学习了 Java 里面的包装类,那么这篇文章,我们就来学习一下Java提供好的类——数学相关的类。一、数学类介绍在最早期学习 Java 基础语法结构的时候,其实我们学习并了解了加减乘除这些算数运算符,有了这些运算符,我们就可以做一些简单的运算了,但是当我们需要做一些比较复杂的运算的时候,其实用这些运算符是很难去处理的(比如获取随机数等等)。其实数学类对于我们并不陌生,在学习 Java 基础的时候,你一定用过 Math 类的,这个其实就是我们最早期接

2020-07-01 20:29:42 701

Linux操作系统教学视频

Linux操作系统教学视频,讲述Linux的基本操作,适合初学者入门

2018-04-30

QT界面开发2016版视频

QT界面开发2016版视频,讲得比较通俗易懂,比较适合初学者。

2018-04-30

国嵌视频课件ppt(01-05全)

国嵌视频课件ppt(01-05全),完整版,适合新手入门学习,比较基础

2017-11-05

张正友和tasi的标定源程序

张正友和tasi的标定源程序,欢迎大家一起学习交流

2013-06-03

自己编写的直线拟合程序

自己编写的程序,一起学习交流,高手多多指导!!

2013-01-25

空空如也

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

TA关注的人

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