自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务—Kafka、zookeeper、Redis、nginx、LB、Keepalived、API网关、总线

Kafka:分布式发布订阅消息系统。https://www.cnblogs.com/ysocean/p/9866983.htmlhttps://www.cnblogs.com/dennyzhangdd/p/7759869.htmlhttps://blog.csdn.net/suifeng3051/article/details/48053965https://www.cnblogs...

2019-08-21 23:15:22 1503

原创 OS制作和理解:/boot、initrd、vmlinuz

制作的任何OS包中都有2个OS,一个体积小的OS作为引导运行在内存中,然后拷贝真正需要运行的OS到硬盘。如果是光盘启动的话从光盘拷贝真正运行的OS到硬盘,然后开始引导其安装,引导可以从光盘、网络等不同的方式引导其安装。如制作的OS的结构boot/目录下有linux和initrd都很小这个就是引导OS,运行在内存引导安装,另外在repo目录下有OS.tar.gz压缩包,里面是真正安装运行的lin...

2019-08-21 23:14:55 662

原创 Linux—网卡bond配置

1、非固化方式:ifconfig bond1 IP netmask NETMASKifenslave bond1 eth0 eth12、固化方式:两张网卡eth1、eth2进行为例。前提:加载bonding模块modprobe --first-time bonding没有提示说明加载成功, 如果出现modprobe: ERROR: could not insert 'b...

2019-04-03 22:16:26 2921

原创 Eclipse+Maven搭建Springboot的Web工程和springboot注解实现定时任务、mvn打包可执行可依赖的jar包

1、maven依赖来源:pom.xml如果使用官网的,依赖的包是从官网下载的;如果公司或者自己定制的maven仓库,可以使用自己的pom.xml,包从自己的仓库下载,往往这些是经过定制或者改造过的,符合自己的使用规范。settings文件导入:点击Eclipse的菜单:windows->perferences->搜索setting1)配置完成:菜单proje...

2019-04-03 22:13:48 510

原创 Java调用shell脚本和返回值获取处理

checkNum (){ echo 6 echo 7 return 8}checkNumecho $? #本行输出的是return返回值8执行脚本输出 6 7 8,Java调用shell脚本获取返回值是获取到所有echo输出来的数据,如当前输出6 7 8都会返回到Java中。https://blog.csdn.net/teng...

2019-04-03 22:09:24 7327

原创 Paas——操作系统、docker、镜像、容器、微服务从底层到上层的理解

镜像,应该可以分虚机镜像、docker镜像、物理机镜像。。。(概念有点混淆)docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台...

2019-03-20 23:27:10 2143

原创 Java、eclipse、jdk、maven、tomcat、pom.xml、环境配置、maven工程、部署到tomcat、linux装tomcat、java -jar

Maven基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。Maven的核心功能是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。主要解决类似X项目A依赖项目B的问题。maven项目就是在java项目和web项目上包裹了一层mav...

2019-03-20 23:25:53 312

原创 Linux——CPU、内存、硬盘、挂载

1 查看CPU1.1 查看CPU个数# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l2 **uniq命令:删除重复行;wc –l命令:统计行数**1.2 查看CPU核数# cat /proc/cpuinfo | grep "cpu cores" | uniqcpu cores : 41.3 查看CPU型号...

2019-03-20 23:25:08 522

原创 Linux——OS、用户、修改绑定IP、掩码、网卡重启、配置路由信息、ssh服务

裸机没有任何操作系统的情况下无法登陆访问,安装linux的OS之后在没有配置网卡的情况下通过其他的网段也无法访问,OS中预置默认用户和初始密码可以登陆系统,此时ifconfig可以看到没有配置IP,可以到相应目录配置IP等并启动可以访问。1)Ifconfig:临时修改IP生效,OS重启失效。ifconfig eth0 192.168.0.3 netmask 255.255.255.02...

2019-03-20 23:23:20 832

原创 NFS、RPC、RESTful

NFS :net file system ,网络文件系统,允许网络中的计算机之间通过TCP/IP网络共享资源。NFS服务器搭建与配置:https://blog.csdn.net/qq_38265137/article/details/83146421NFS原理详解:https://blog.csdn.net/frankarmstrong/article/details/78774679...

2018-11-26 23:15:07 502

原创 k8s和docker

Kubernetes( k8s)集群运维篇–kubectl常用命令-n 指定名命空间,指定全部名命空间 --all-namespacesget命令用于获取集群的一个或一些resource信息查看rc和namespace[root@kubernetes-master pods]# kubectl get rc,namespace 获取命名空间kubectl  get ns  ...

2018-11-26 23:14:43 813

原创 计算机网络相关汇总

IP地址与端口号:https://blog.csdn.net/u012861978/article/details/50963603https://blog.csdn.net/Flyfish_L/article/details/53815736?locationNum=1&fps=1Linux查看端口占用情况和开启端口命令:https://blog.csdn.net/ljbmxs...

2018-10-28 22:37:05 167

原创 Linux常用命令

https://www.cnblogs.com/yjd_hycf_space/p/7730690.html目录回退回到根目录cd /cd .. 上一级目录cd - 上次目录在任意目录下进入某一目录可以用绝对路径如:cd /home/etc 在/home/var/test 到/home/etc查看当前的目录路径pwd创建目录m...

2018-10-17 22:46:19 603

原创 锁机制

Java里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性和有序性。加上复合操作的原子性,我们可以认为Java的线程安全性问题主要关注点有3个:可见性、有序性和原子性。       锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下...

2018-10-16 23:03:22 416

原创 Java序列化和反序列化

两个Java进程进行通信时实现进程间的对象传送需要Java序列化与反序列化。对象(object)是类(class)的一个实例(instance)。一个类中包含了变量(field)和函数(method)两个部分。同一个 类的不同对象只是变量不同,所以Java API序列化过程中只保存了对象的变量部分。同样,由于静态变量(static field)是由同一个类的各个对象共用的,所以序列化过程中也不...

2018-10-16 23:00:58 167

原创 线程同步和锁(synchronized、lock、ReenTrantLock)

1、synchronized锁synchronized是一种互斥锁,synchronized是Java的一个关键字,它能够将代码块(方法)锁起来,只要在代码块(方法)添加关键字synchronized,即可以实现同步的功能,一次只能允许一个线程进入被锁住的代码块。1.1、synchronized用处是什么?synchronized保证了线程的原子性。(被保护的代码块是一次被执行的,没有...

2018-10-10 22:55:28 425

原创 设计模式

 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。1、设计模式的分类:总体来说设计模式分为3大类:1)创建型模式,共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2)结构型模式,共7种:适配器模式、装饰器模式、代理模式、外观模式、...

2018-10-10 22:53:54 132

原创 Redis

1、什么是Redis(Remote Dictionary Server)?优缺点是什么?redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的遵守BSD协议,Key-Value非关系内存数据库。Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存中操作,定期进行异步操作把数据库数据flush到硬盘中保存。因...

2018-10-10 22:53:10 241

原创 中间件ZooKeeper(分布式服务框架)

中间件ZooKeeper(分布式服务框架)1、简介                Zookeeper是为分布式应用提供一致性服务的软件,是一个开源的分布式协调服务,是开源的hadoop项目的一个子项目,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架...

2018-10-10 22:52:25 2467

原创 Paas

IaaS:基础设施服务,Infrastructure-as-a-service,是云服务的最底层,主要提供一些基础资源。PaaS:平台服务,Platform-as-a-service,抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。SaaS:软件服务,Software-as-a-service, SaaS 是软件的开发、管理、部...

2018-10-10 22:51:12 934

原创 分布式

1、分布式:把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。2、分布式系统:是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。3、分布式网络存储系统...

2018-10-10 22:48:12 577

原创 排序算法

1、冒泡排序 public static void main(String[] args) { int[] a = { 3, 5, 9, 1, 13, 5 }; int[] b = BubbleSort(a); for (int j = 0; j < a.length; j++) { ...

2018-09-04 23:40:01 97

原创 leetCode

反转整数class Solution { public int reverse(int x) { boolean negative = x < 0; if (negative) x = -x; long r = 0; while (x > 0) { ...

2018-09-03 22:35:42 137

原创 JVM:线程安全与锁优化

Syschronized和ReentrantLock比较:ReentrantLock比Syschronized增加了:等待可中断、可实现公平锁、锁可以绑定多个条件等高级功能。等待可中断:持有锁的线程长期不释放锁,正在等待的线程可以选择放弃等待,改为处理其他事情,对处理执行时间比较长的同步块有帮助。 公平锁:多个线程等待同一个锁的时候,必须按照申请锁的时间顺序来依次获得锁,而非公平锁在锁被...

2018-09-03 22:34:56 119

原创 JVM:Java内存模型

1、硬件效率与一致性计算机的存储设备和与处理器的运算速度之间差距太大,所以加入一层读写速度尽可能接近处理器运算速度的高速缓存作为内存与处理器之间的缓冲:数据复制到缓存中,运算结束之后再同步到内存中。告诉缓存解决了处理器和内存速度的矛盾,但是引入了缓存一致性问题。多处理器系统中,每个处理器都有自己的告诉缓存,又共享一个主内存,多个处理的运算任务涉及同一个主内存区域时可能导致各自的缓存数据不一...

2018-09-03 22:17:51 145

原创 数据类型相关

float单精度类型,占4字节32位存储空间,分为三部分:符号位,指数位,尾数位。double双精度类型,类似float,只是double的长度更大,所以范围就更大,但规则是一样的。java一定要用double,就算数值不大也要用double。java虚拟机的底层会知道,float放在内存中其实是当作double来处理的,如果用float,不但不会节约内存资源,虚拟机为了校验float的精...

2018-08-29 23:50:06 218

原创 JVM:类文件结构和类加载机制

实现语言无关性的基础是虚拟机和字节码存储格式,Java编译器可以把Java代码编译为存储字节码的class文件。 1、Calss文件结构:https://www.cnblogs.com/wade-luffy/p/5929325.html2、类加载虚拟机的类加载机制:虚拟机把描述类的数据从class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以在虚拟机直接...

2018-08-29 23:42:17 178

原创 JVM:垃圾收集器与内存分配策略

垃圾收集器(Garbage Collection,GC)简单的说垃圾回收就是回收内存中不再使用的对象,步骤:1、查找内存中不再使用的对象;2、释放这些对象占用的内存。由于程序计数器、虚拟机栈、本地方法栈这三个区域是随线程而生,随线程而亡的。因为方法结束或者线程结束之后。这部分内存自然也就随着回收了。但是Java堆和方法区则不一样,因为一个接口中的多个实现类需要的内存可能不一样,...

2018-08-28 22:52:36 147

原创 JVM:自动内存管理机制

Sun定义的Java技术体系包括:Java程序设计语言; 各硬件平台的Java虚拟机; Class文件格式; Java API类库; 商业机构和开源社区的第三方Java类库。Java程序设计语言、Java虚拟机、Java API类库同城为JDK,是支持Java运行的最小环境。Java API类库中的部分和Java虚拟机统称为JRE,是支持运行的标准环境。1、运行时数据区域:...

2018-08-28 22:43:57 191

原创 输入/输出(NIO/IO)

 IO(输入/输出):输入机制,程序可以读取外部数据(磁盘、光盘等存储设备)、用户输入数据;输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等设备中。支持类在Java.io包中。流:输入输出流。NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API。NIO是为了弥补IO操作的不足而诞生的,NIO的一些新特性有:非阻塞I/O,选择器,缓冲以及管道。管道...

2018-08-24 23:00:51 309

原创 类加载和反射

 1、JDK动态代理和AOP(面向切面编程)关于JDK的动态代理,最为人熟知的是Spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对类的代理使用CGLIB来实现。JDK的动态代理,就是在程序运行的过程中,根据被代理的接口来动态生成代理类的class文件,并加载运行的过程。JDK从1.3开始支持动态代理。博客:http...

2018-08-23 22:56:13 142

原创 Java异常处理

 Java异常机制主要依赖try、catch、finally、throw和throws五个关键字。try后面中的是可能引发异常的代码块,后面可以有多个catch块,但是只执行一个。catch对应异常类型,finally用于回收try中打开的物理资源。  throws用于抛出可能抛出的异常,throw用于抛出实际异常,可以作为单独语句使用。Java异常分为2种,Che...

2018-08-11 00:19:22 104

原创 String、BigDecimal等常用类

1、String String类(final类)是不可变类,一旦String对象创建之后,包含在这个对象中的字符序列是不可以改变的,也即意味着String类不能被继承,并且它的成员方法都默认为final方法。直到这个对象被销毁。对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。(如何理解不可变类:https://blog.csdn.net/Steve...

2018-08-11 00:18:20 480

原创 枚举类

package enums;public class Enum{ //enum 枚举 public enum Color { RED, GREEN, BLANK, YELLOW } public enum Colors { REDs("红色", 1), GREENs("绿色", 2), BLANKs("白色...

2018-08-11 00:17:31 149

原创 常用集合类(Set、Map、List)比较

Java中数据存储方式最底层的两种结构:数组和链表,数组的特点:连续空间,寻址迅速,但是在删除或者添加元素的时候需要有较大幅度的移动,所以查询速度快,增删较慢。而链表正好相反,由于空间不连续,寻址困难,增删元素只需修改指针,所以查询慢、增删快。有没有一种数据结构来综合一下数组和链表,以便发挥他们各自的优势?答案是肯定的!就是:哈希表。哈希表具有较快(常量级)的查询速度,及相对较快的增删速度,所...

2018-07-22 16:44:36 688

原创 多线程面试问题集锦

、如何控制线程的执行顺序?(join()方法)                一个main方法里面先后运行thread1,,thread2,thread3,那么thread1.start()之后,运行thread1.join(),这是会让主线程mian等待新的线程thread1执行完了,再执行主线程mian下面的代码。public class ThreadByOrder{ pub...

2018-07-18 23:15:33 208

原创 接口

package interfaceex.interfaceX;public interface InterfaceX{ // 方法1 String funA(String input); // 方法2 Integer funB(int input);}  package interfaceex.interfaceImpl;import i...

2018-07-17 00:32:40 109

原创 Java线程池

1、简介程序中需要创建大量生存周期很短暂的线程时,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长,使用线程池可以很好的提高性能。使用线程池优势:1、降低资源消耗:通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。2、提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。对线程进行一些维护和管理,比如定时开始,...

2018-07-08 23:43:10 168

原创 枚举类

test

2018-07-08 23:10:45 111

原创 集合类(Collection、Map)基础

1、集合类基础:1、Collection是最基本的集合接口(只包括Set和List), Map接口并不是Collection接口的子接口。 A:list接口: Collection的子接口,允许有重复的元素,是有序的。有三个实用类:ArrayList,LinkedList,Vector(Stack)。 B:set接口:是collection的子接口,不能包含重复的元素。set接口没有引...

2018-07-08 23:08:08 296

空空如也

空空如也

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

TA关注的人

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