关注:CodingTechWork IP地址 IP介绍 概述 IP是TCP/IP协议族的核心,IP地址是电脑在网络中的唯一标识,全球唯一(G公网IP)。 IP地址(InternetProtocolAddress)是互联网协议地址,也称为网际协议地址。 IP地址用来识别网络上的设备,这就涉及到网络和主机两部分,所以IP地址是由网络地址+主机地址两部分组成。 组成 IP地址=网络地址+主机地址。 网络地址就是网络号,用来识别设备所在的网络,在同一个网络中,所有机器的IP地址都是包含相同的网络地址。 IP版本 IP地址有2个版本,即IPv4和IPv6。 IPv4地址长32位,划分为4组...

需求   在本工程中引入外部jar包的类进行反射获取,如何获取? 方案 @ComponentScan @Import @Import 其中@Import中有4种用法 导入Bean 导入配置类 导入ImportSelector的实现类 导入ImportBeanDefinitionRegistrar实现类

  nh4iDltz0QxA   2023年12月11日   8   0   0 Javajavajarjar包jar包jar

关注:CodingTechWork 引言   在项目开发中,有一个程序是专门给服务下发tcp端口占用的,但是tcp端口有时候会被其他服务给占用,此时端口就会冲突。本文提供一个工具类进行端口占用判断并返回可用端口。 代码 工具类 @Slf4j publicclassSocketPortUtil{ publicstaticintgetNextAvailablePort(intfromPort)throwsIOException{ ServerSocketserverSocket=null; try{ //构建ServerSocket serverSocket=newServerSocket...

引言   在docker容器中,想要调用某个服务接口,发现没有安装curl命令,但是有wget命令。本次总结一下wget的使用。 wget命令实践 容器访问 查看容器dockerps 进入容器dockerexec-it<container_id>/bin/sh wget调用接口 容器中wget执行 GET接口 wgethttp://127.0.0.1:8080/xxxx POST接口 wget--header="Content-Type:application/json"--post-data='{"key":"value"}'http://127.0.0.1:8080/x...

引言   在代码开发过程中,发现很多地方通过RestTemplate调用了第三方接口,而第三方接口需要根据某些状态码或者异常进行重试调用,此时,要么在每个调用的地方进行异常捕获,然后重试;要么在封装的RestTemplate工具类中进行统一异常捕获和封装。当然,本文不走寻常路,将会通过RestTemplate的异常处理器进行操作。 RestTemplate异常处理器介绍 分类 异常处理器 功能描述 ResponseErrorHandler 异常处理器接口,是restTemplate所有异常处理器的实现接口 DefaultResponseErrorHandler 默认的异...

引言   在服务器中通过curl命令调用接口时,我们经常需要分析一些时长。本文主要总结两种方式进行处理。 curl命令 使用time命令 timecurl-k-u'<username>':'<password>'https://127.0.0.1/xxxx-vvv 使用文本 编写time.txt time_namelookup:%{time_namelookup}s\n time_connect:%{time_connect}s\n time_appconnect:%{time_appconnect}s\n time_pretransfer:%{time_pret...

  nh4iDltz0QxA   2023年11月02日   20   0   0 服务器linuxlinux服务器运维运维

需求   一个列表操作需要异步处理每个元素,最终需要将列表各个元素的操作结果统一返回,无需关注该列表中的顺序执行。这个线程池不会保证任务的顺序执行,即为WorkStealing抢占式的工作。 开发模板 线程池配置 @Configuration publicclassThreadPoolConfig{ @Bean publicExecutorServicegetThreadPool(){ //工作抢占式线程池 returnExecutors.newWorkStealingPool(20); } } 多线程调用 / 线程service / @Autowired privateExe...

关注微信公众号:CodingTechWork,一起学习进步。 问题   开发过程中,有时候会遇到object类型转换时,出现java.lang.Integercannotbecasttojava.lang.Long异常。 解决方案 longvalue01=Long.valueOf(obj.get("key01").toString()).longValue();

查看MySQL版本 mysql-V或者mysql--version 修改my.cnf 用root用户登录mysql部署节点,vim/etc/my.cnf配置文件; 在[mysqld]下加入一行:lower_cas_table_names=1 重启MySQL servicemysqldrestart 验证配置生效 1)登录mysql命令行 [bdoc@mysqlNode]$mysql-uroot-p'123456' mysql:[Warning]Usingapasswordonthecommandlineinterfacecanbeinsecure. Welcometothe...

System类 System类介绍   System类代表Java程序运行平台,程序不能创建该对象,但是System类提供了直接调用的类方法和类变量。  System类提供标准输入、标准输出、错误输出的类变量;且提供访问环境变量、系统属性、系统时间等静态方法。 System类用法 环境变量和系统属性 publicstaticvoidmain(String[]args)throwsException{ //获取所有的系统环境变量 Map<String,String>env=System.getenv(); for(StringenvName:env.keySet()...

1代码管理   Git不多说,大家都知道这是一个分布式版本控制系统,对开发者而言,可以敏捷高效的进行代码管理及开发,也非常适合多人协作。话不多说,下面就来点干货。 1.1创建新仓库   我们在工作区(就是自己的电脑里)创建一个新的文件夹,这个文件夹用来存放远端同步过来的代码库。进入到这个新建的文件夹,执行创建新的仓库的命令:$gitinit 补充:  差点忘记介绍一下git维护的“树”(3棵): 工作区:也就是我们的电脑里的实际文件所在位置,即为工作目录; 暂存区:Index,暂存的意思就是临时保存我们的改动,类似于缓存; 版本库:HEAD,这是git的版本库,指向我们最后一...

正则表达式介绍   正则表达式可以用于对字符串的处理,相当于是一个匹配字符串的模板。主要包含查找、替换、分割、提取等操作;Java中通过Pattern和Matcher类提供对正则的支持。 字符处理 特殊字符处理 对于特殊字符:$、^、(、)、[、]、{ 、}、、+、?、.、\、|前面都要加上\进行转义。 预定义字符 预定义字符即为正则表达式中的“通配符”,就是可以匹配多个字符的特殊字符。 预定义字符 作用 . 匹配任意字符 \d digit,代表数字,匹配0-9中的所有数字 \D 匹配非数字 \s space,代表空白,匹配所有空白字符(空格、换行、回...

Object类介绍   Object类是所有类、数组、枚举的父类,当我们定义一个类未使用extends关键字去显示指定父类时,则表示该类默认继承了Object父类。 Object类常用方法 booleanequals(Objectobj):判断两个对象是否为同一个对象; protectedvoidfinalize():JVM的垃圾回收GC器可以使用来清理对象(无引用变量应用该对象,具体可查看JVM中可达性分析等算法) Class<?>getClass():返回该对象的运行时类; StringtoString():返回对象的字符串表示输出;Object类的toStr...

Java堆 1)是一个运行时数据区,类的对象从堆中分配空间;(new对象,GC销毁)2)堆的优势:运行时动态分配内存空间,不必事先通知编译器。缺点:存取速度慢;3)举例:Stringstr1=newString(“aaa”);Stringstr2=newString(“aaa”);最终:str1!=str2,new出来的存放堆中,每次调用都会新建一个对象; Java栈 1)栈中存放基本数据类型的变量(byte、short、int、long、float、double、char、boolean)和对象的引用;2)栈的优势:存取速度快,栈数据可共享;缺点:存放数据的大小需要编译时确定...

引言   如果说收集算法(标记-清理、复制、标记-整理、分代收集)是内存回收的方法论,那毫无疑问,垃圾收集器就是内存回收的具体实现。  主要有7个gc器,如下图: Serial收集器 介绍   Serial收集器是单线程的收集器。单线程: 它只会使用一个CPU或一条收集线程去完成垃圾收集工作; 在垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。 Stoptheworld:  是Java虚拟机在后台自动发起和自动完成的,在用户不可见情况下把用户正常工作的线程全部停掉。 缺点   由于StopTheWorld,给用户带来不良体验,比如,计算机每运行一段时间就会暂停响应几...

1介绍   负载均衡器LoadBalancer服务是NodePort服务的扩展,负载均衡器拥有独立的可公开访问的IP地址,并将所有连接都重定向到服务,外部客户端可以通过负载均衡器的IP地址访问到集群内部的服务。 2使用 2.1创建 将spec.type设置为LoadBalancer,则该服务即为负载均衡器服务。 byk8sinaction 执行创建命令$kubectlcreate-fxxx.yml创建服务后,云基础架构需要一段时间才能创建负载均衡器并将其IP地址写入服务对象。 2.2.查看 $kubectlgetsvcservice_name通过EXTERNAL-IP查看到...

1NodePort介绍 1.1概念   将创建的服务类型设置为NodePort,通过创建NodePort服务,让K8S在其他所有节点上保留一个端口(所有节点上都使用相同的端口号),并将传入的连接转发给作为服务部分的pod。 1.2缺点 每个端口只能为一种服务; 端口是有范围的,为3000032767 2NodePort使用 2.1创建 byk8sinactions $kubectlcreate-fxxx.yml 2.2查看 查看NodePort类型的服务$kubectlgetsvcservice_name举例其中:1)EXTERNAL-IP值为nodes,则表明服务可...

1endpoint 1.1endpoint介绍   服务和pod不是直接连接,而是通过Endpoint资源进行连通。endpoint资源是暴露一个服务的ip地址和port的列表。  选择器用于构建ip和port列表,然后存储在endpoint资源中。当客户端连接到服务时,服务代理选择这些列表中的ip和port对中的一个,并将传入连接重定向到在该位置监听的服务器。  endpoint是一个单独的资源并不是服务的属性,endpoint的名称必须和服务的名称相匹配。 1.2endpoint使用 1.2.1创建   为没有选择器的服务创建endpoint资源:$kubectlcreat...

1Docker介绍   Docker是一个打包、分发和运行应用程序的平台;允许将你的应用程序和应用程序所依赖的整个环境打包在一起。  Docker有一个局限性是:每个虚拟机读运行自己的内核,而一个机器上的所有容器是运行同一个内核。 2三个主要概念   镜像——Docker镜像里包含了你打包的应用程序及其所依赖的环境。包含应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。  镜像仓库——Docker镜像仓库用于存放Docker镜像,以及促进不同人和不同电脑之间共享这些镜像。  容器——Docker容器通常是一个Linux容器,基于Docker镜像被创建,一个运行中...

1)抽象类与接口的问题,以前校招毕业时面了好几个公司,都会被问到,其实这也是开发过程中经常遇到的问题,在这里所说的接口是指jdk1.8之前的,因为jdk1.8中接口是可以有默认方法等改动的。2)如果为了面试,直接跳过所有的,看我整理的那张表格就行了。 1抽象类 1.1抽象类的含义   包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的(否则,编译器会报错) 1.2抽象类的总结点 含有abstract修饰符的class即为抽象类,abstract类不能创建实例对象。 含有abstract方法的类必须定义为abstractclass,abstractcla...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~