Ubuntu下mysql与mysql workbench安装教程
Ubuntu 安装jdk:[链接]Ubuntu安装eclipse:[链接]Ubuntu下安装MySQL与mysql workbench:[链接]Ubuntu配置tomcat9:[链接]1.sudo apt-get install mysql-server安装完成,下面测试一下,输入:mysql -u root -p提示输入密码,输入密码之后:2.安装mysql workbench下载好安装包之后执行如下命令(先cd到当前目录):sudo dpkg -i mysql...
2024-01-10docker私有仓库harbor搭建过程
1.准备1.1 harbor下载harbor下载地址:链接添加链接描述然后我们可以选择自己需要的版本,我这边选择的是v1.8.3也可以去wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.3.tgz1.2 docker安装docker 安装以及yum源的安装可以参考《docker入门教程(二)》文章。2.搭建2.1 解压harbortar -z...
2024-01-10使用Nginx实现灰度发布的使用
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以...
2024-01-10在mac上安装虚拟机搭载Windows服务的方法
一、下载虚拟机 官方下载网址 https://www.vmware.com/二、下载想要安装的Windows版本 推荐下载网址https://msdn.itellyou.cn/(msdn建议收藏,相当全的系统) 直接将地址复制到迅雷下载即可三、双击下载完成的vm虚拟机,拖到app中 如果VM提示找不到可以连接的有效对等进程: 系统偏好...
2024-01-10开放windows服务器端口(以打开端口8080为例)
什么是端口?我们平时所说的端口其实不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。本地操作系统会给那些有需求的进程分配一个端口。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,然后由占有该端口的进程进行操作。端口...
2024-01-10spring @profile注解的使用方法
本文主要介绍spring中@profile的使用方法以及在什么情况下使用。首先说一下为什么要使用这个@profile注解。@profile注解是spring提供的一个用来标明当前运行环境的注解。我们正常开发的过程中经常遇到的问题是,开发环境是一套环境,qa测试是一套环境,线上部署又是一套环境。这样从开发到测试再到...
2024-01-10SrpingDruid数据源加密数据库密码的示例代码
前言在工作中遇到这样一个问题:开发过程中将数据库的账号、密码等信息配置在了一个单独的properties配置文件中(使用明文)。但运维人员要求在配置文件中的密码一律不得出现明文。环境Spring 4.2.6.RELEASEMyBatis 3.4.1Druid 1.0.14改造思路一般spring容器启动时,通过PropertyPlaceholderConfigurer类读取jdbc.p...
2024-01-10spring启动后保证创建的对象不被垃圾回收器回收
一、可达性分析(根搜索)算法JVM通过可达性分析来判定对象是否存活。这个算法的基本思路就是通过一系列称为GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。如下图中对象object1、object2、object...
2024-01-10java设计模式之外观模式学习笔记
外观模式: 又称门面模式: 外观Facade为子系统的一组接口提供一个一致界面,使得这组子系统易于使用(通过引入一个新的外观角色降低原系统复杂度,同时降低客户类与子系统的耦合度).图片来源: 设计模式: 可复用面向对象软件的基础.实现案例需求: 租房有过自己找房租房经历的同学能够体会得到找...
2024-01-10J2EE基础之EJB全面了解
1、什么是EJB? EJB(Enterprise Java Beans),是JavaEE中的商业应用组件技术,是JavaEE三大组件(Servlet,JSP,EJB)之一。EJB提供了让客户端使用远程分布式对象的框架,极大地简化了具有良好的可扩充性的企业级应用的开发。EJB组件结构是基于组件的分布式计算结构,是分布式应用系统中的组件。EJB是Java...
2024-01-10解析Java的JVM以及类与对象的概念
Java虚拟机(JVM)以及跨平台原理相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。那么,跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。JVM也是一个软件,不同的平...
2024-01-10Java多线程编程中的两种常用并发容器讲解
ConcurrentHashMap并发容器 ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地尽量地小,不用对整个ConcurrentHashMap加锁。ConcurrentHashMap的内部结构 ConcurrentHashMap为了提高本身的并发能力,在内部采用了一个叫做Segment的结构,一个Segment其实就...
2024-01-10JavaMe开发绘制文本框TextEdit
【问题描述】TextEdit是采用GameCanvas绘制的文本编辑器。本文结合实例给出实现的方法。【原理】1 运用Graphics、GameCanvas绘制文本框和光标。2 检测到输入事件时,跳转到 高级界面->TextBox 。通过系统调用输入法完成输入。3 将TextBox输入的值返回给TextEdit对象。【设计模式】这个过程有点类似装饰模式...
2024-01-10Python逻辑运算符用法示例指南
本文概述逻辑运算符逻辑运算符的评估顺序运算符用于对值和变量执行运算。这些是执行算术和逻辑计算的特殊符号。操作员操作的值称为操作数.目录逻辑运算符逻辑与运算符逻辑或运算符逻辑非运算符逻辑运算符的评估顺序逻辑运算符在Python中, 逻辑运算符用于条件语句(True或False)。他们表演...
2024-01-10.Net 反序列化原理学习
作者:HuanGMz@知道创宇404实验室时间:2020年11月30日一.TypeConfuseDelegate工具链TypeConfuseDelegate 工具链 利用了SortedSet类在反序列化时调用比较器进行排序,以及多播委托可以修改委托实例的特点实现在反序列化时执行代码0x10 基础知识0x11 SortedSet<T>SortedSet<T> 从其名字就可以看出其用处,可排序的set,...
2024-01-10COM读取word文档
先声明,服务器是windows的,在我本地读取很正常,在服务器报错,提示的是这行报错信息如下:谁知道这是什么鬼啊回答:没用过 COM 但是提示 4323 行错误,仔细看看...
2024-01-10不知为何格式错误,求指教
**题目:**著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、...
2024-01-10C++一直超时,如何优化
#include<iostream>using namespace std;double fib(int n) ; int main(){ int n; cin>>n; double a[20000]; for(int i=0;i<n;i++)cin>>a[i]; double b[20000]; for(int j=0;j<n;j++){ for(int i=0;i<100003;i++) { if(fib(i)>a[j]){ ...
2024-01-10C++ bind作为函数对象的问题
此时是不是可以看成传递给bind的string实参,可以隐式的看成两份,一份用于表示empty的实参,一份用于表示执行empty的对象???回答:string::empty 本身没有参数。(除了隐含的 this)bind 之后,生成一个函数对象,这个函数对象调用时只有一个参数(string),就是用于调用 empty() 的对象。...
2024-01-10最近在学C的指针,为什么申请一个字节的空间缺可以放多个内容呢
小弟最近在学指针,刚学到空类型指针 发现 只要申请1个字节的空间居然可以赋值20个字节的内容 而且都没报错 这是为什么呢?void *p = malloc(1); //给空类型指针分配20个字节 int *px = (int*)p; //把空类型指针地址赋值给int指针 for (int i = 0; i < 5; i++) { px[i] = i+10; } for (int i = 0; i < 5; i++) { ...
2024-01-10