docker-compose部署SpringBoot项目
docker-compose部署SpringBoot项目简介docker-compose 是 Docker 官方的开源项目,主要用于实现对 Docker 容器集群的快速编排。 用户可以通过 docker-compose.yml 来定义一组相关联的容器作为一个项目(project) docker-compose的两个概念: 服务(service):应用的容器 项目(project):一组关联的服务组成,在 docker-compose.yml 中定义 安装下载最新版的docker-compose文件 (截止2022.1.28) 1sudo curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose *下载慢换国内源 DaoCloud | Docker 极速下载 1sudo curl -L...
Java反射
Java 反射反射介绍概念 反射机制允许程序在执行期间借助于 Reflection Api 获取任何类的内部信息(成员变量、构造器、成员方法等),并能直接操作任意对象的内部属性和方法。 当一个类被加载之后,就在堆内存的方法区中产生了一个相应的 Class 类型的对象(一个类只有一个Class对象),这个对象包含了完整的类的结构信息,可以通过这个对象看到类的结构。 加载到内存中的运行时类会缓存一段时间,在此时间之内,通过不同方式获取到的都是同一个运行时类。(即同一个Class类的对象) 反射相关类吧java.lang.Class:标识某个类加载后在堆中的对象 java.lang.reflect.Method:代表类的方法 java.lang.reflect.Field:代表类的成员变量 java.lang.reflect.Constructor:代表成员的构造方法 Class类 Class 类也是类,继承 Object 类 Class 类的实例不是 new 出来的,而是在类被加载时由系统创建的 对于某个类的 Class...
剑指Offer刷题记录
03 数组中重复的数字题目在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 12345class Solution { public int findRepeatNumber(int[] nums) { }} 题解基本思路初步想法是创建一个Set,然后遍历数组并把数字添加入Set,每次添加的时候如果数字已经存在,就返回该数字。 但是这样的话时间复杂度和空间复杂度太高了。 12345678910111213public class Solution { public int findRepeatNumber(int[] nums) { Set<Integer> set = new HashSet<Integer>(); int repeat = -1; for (int num : nums)...
SpringBoot自定义Controller参数解析器
SpringBoot自定义Controller参数解析器(HandlerMethodArgumentResolver)正文省略一万字( 参考: HandlerMethodArgumentResolver(一):Controller方法入参自动封装器(将参数parameter解析为值)【享学Spring MVC】 - 云+社区 - 腾讯云 (tencent.com) HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】 - 云+社区 - 腾讯云 (tencent.com) HandlerMethodArgumentResolver(三):基于HttpMessageConverter消息转换器的参数处理器【享学Spring MVC】 - 云+社区 - 腾讯云 (tencent.com) HandlerMethodArgumentResolver(四):自定参数解析器处理特定应用场景,介绍PropertyNamingStrategy的使用【享学Spring MVC】 - 云+社区 - 腾讯云...
Java动态代理
动态代理实现: 1、JDK 动态代理 用 Java 反射包中的类和接口实现动态代理 2、CGLIB 动态代理 通过第三方库 CGLIB ,以继承类的方式实现动态代理 JDK 代理由于底层机制的缘故,被代理的目标类必须实现至少一个接口 创建被代理的目标类以及其实现的接口 创建 InvocationHandler 接口的实现类,在 invoke() 中完成要代理的功能 用 Proxy.newInstance() 动态地构造出代理对象 Hello (被代理的目标类实现的接口) 12345public interface Hello { void sayHello(); int plus(int a, int b);} HelloImpl (被代理的目标类) 123456789101112131415public class HelloImpl implements Hello { @Override public void sayHello() { ...
MySQL高级
逻辑架构 参考:MySQL逻辑架构 - 知乎 (zhihu.com) 连接层将MySQL服务层通过线程池和TCP连接池,与多个客户端连接。主要工作是:连接处理、授权认证、安全防护。 服务层服务层用于处理核心服务,如标准的SQL接口、查询解析、SQL优化和统计、全局的和引擎依赖的缓存与缓冲器等等。所有的与存储引擎无关的工作,如过程、函数等,都会在这一层来处理。在该层上,服务器会解析查询并创建相应的内部解析树,并对其完成优化,如确定查询表的顺序,是否利用索引等,最后生成相关的执行操作。 服务层可以细分为几个部分: SQL Interface: SQL接口 接收用户的SQL命令,并且返回用户需要查询的结果。比如SELECT … FROM就是调用SQL Interface MySQL支持DML(数据操作语言)、DDL(数据定义语言)、存储过程、视图、触发器、自定义函数等多种SQL语言接口 Parser: 解析器 在解析器中对 SQL...
Weather-Forecast
Weather-Forecast部署地址:fengye404.top/weather github:fengye404/weather-forecast: SAST.2022-FrontEnd-WoC (github.com) SAST.2022 前端组的 WoC (Winter of Code)项目,技术栈: React + Semi Design 也是我自己第一次摸前端的项目,从 0 学三大件到学 React 、拼组件、调CSS,前前后后花了差不多有一个多星期。仿佛回到了去年寒假第一次学后端,虽说遇到的困难很多,但是做出来还是挺有成就感的。 其实还有好多想法由于时间原因没有实现,比如: 1、获取客户端地址,直接回调天气 api 。之前用了搜狐的 api 本来写好了,但是部署完发现获取的是服务端的,直接寄( 2、加载过程中显示骨架屏幕 3、布局做到兼容多端。布局太难了,摆烂 4、找个更好的天气API。目前的API数据量太少,而且经常容易出bug( 做完还是发现后端适合自己。 前端,我劝你别学!
CSS虚化背景图片并解决白边
CSS虚化背景图片并去掉白边直接上代码 App.jsx 1234567891011121314151617import {Layout} from "@douyinfe/semi-ui";import "./App.css";function App() { const {Header, Footer, Content} = Layout; return ( <Layout className={"layout"}> <div className={"background"}/> <Header>Header</Header> <Content>Content</Content> ...
nps搭建内网穿透
前言最近在玩 MC ,买了个 腾讯云2核4G 的服务器跑 MC 服务端,但是 mod 加多了之后还是有点卡,于是就用了个老的电脑搭建服务器,之前的买的服务器用来搭建内网穿透服务端。 一开始使用的是 frp ,后来被安利了 nps,因为有 web gui ,使用起来更友好一点。 客户端服务端是买的 腾讯云2核4G 服务器 centos7 x86_64 下载1wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz 解压1tar -zxvf linux_amd64_server.tar.gz 安装1./nps install 启动1nps start 启动后就可以访问了,默认: http://ip:8080 服务端客户端是老的笔记本 windows10 64 手动下载解压后,文件结构 12345│ npc.exe│└─conf multi_account.conf npc.conf 启动配置文件启动 1.\npc.exe...
Docker笔记
镜像命令查看本机所有镜像 1234docker images参数:-a 列出所有镜像(默认自带)-q 只显示镜像id 搜索镜像 1234docker search 镜像名参数:-s 指定值 列出收藏数不少于指定值的镜像--no-trunc 显示完整的镜像信息 下载镜像 1docker pull 镜像名[:TAG] 删除镜像 123docker rmi 镜像名参数:-f 强制删除 加载.tar镜像文件到本地docker仓库 1docker load -i 镜像文件名 容器命令运行镜像,新建容器并启动 123456docker run 镜像名参数:--name 为容器起别名-d 在后台启动容器-p 主机端口号:容器端口号 映射端口号 例: docker run -d --name mytomcat -p 8081:8080 tomcat 查看正在运行的容器 1234docker ps参数:-a ...