- 博客(184)
- 资源 (2)
- 收藏
- 关注
原创 Mysql主从架构与实例
从数据库收到请求后,将其应用到自己的数据库中,以便保持与主数据库的一致性。其中,server-id代表从服务器的ID号,可以设置任意整数,不同主从服务器ID必须不同,relay-log代表开启中继日志,read-only代表从服务器只读。1、提高系统的读取性能和可用性:从数据库可以分担主数据库的读取请求,提高系统的读取性能,并且从数据库可以在主数据库不可用时接管读取请求。其中,主服务器IP代表主服务器的IP地址,File和Position代表从步骤7中获取到的主服务器的二进制日志文件名和偏移量。
2023-02-16 23:02:08
515
原创 安装robotframework-ride出现错误
安装wxpython出现 error: [Errno 2] No such file or directory: 'build/lib.linux-x86_64-3.6/wx/libwx_baseu-3.0.so' ERROR: Failed building wheel for wxPython
2023-02-16 10:19:39
323
原创 Oracle约束详解
约束是数据库用来确保数据满足业务规则的手段,不过在真正的企业开发中,除了主键约束这类具有强需求的约束,像外键约束,检查约束更多时候仅仅出现在数据库设计阶段,真实环境却很少应用,更多是放到程序逻辑中去进行处理。这也比较容易理解,约束会一定程度上较低数据库性能,有些规则直接在程序逻辑中处理就可以了,同时,也有可能在面对业务变更或是系统扩展时,数据库约束会使得处理不够方便。不过在我看来,数据库约束是保证数据准确性的最后一道防线,对于设计合理的系统,处于性能考虑数据库约束自然可有可无;
2023-02-03 17:08:42
460
原创 oracle的sid
Oracle 实例: 位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问.Oracle 用它们来管理数据库访问.用户如果要存取数据库(也就是硬盘上的文件) 里的数据, 必须通过Oracle实例才能实现, 不能直接读取硬盘上的文件.实际上, Oracle 实例就是平常所说的数据库服务(service) .在任何时刻一个实例只能与一个数据库关联,访问一个数据库;注意:在mysql中数据库与数据库实例是一对一之间的关系,区别于oracle一对多的概念。
2023-02-03 17:06:50
353
原创 测试Java的&&符号的短路
&&又叫短路运算符,当第一个表达式的值为false的时候,则不会再计算第二个表达式;而&则不管第一个表达式是否为真都会执行两个表达式。
2023-01-06 10:02:46
98
原创 docker安装
0.安装DockerDocker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为 stable test 和 nightly 三个更新频道。官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。1.CentOS安装DockerDocker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要
2022-07-12 00:18:08
144
原创 Spring Boot项目出现问题: Whitelabel Error Page
Spring Boot项目出现问题:Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Tue Jun 07 11:39:11 CST 2022
2022-06-07 11:46:32
450
原创 Java的锁
Java的锁各种锁的类型乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有此概念对应的实际应用。先说概念。对于同一个数据的并发操作,悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。Java中,synchronized关键字和Lock的实现类都是悲观锁。而乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数
2022-04-16 10:57:51
47
原创 Java定时器任务的使用
Java定时任务的使用方法JDK自带Timer实现目前来看,JDK自带的Timer API算是最古老的定时任务实现方式了。Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以安排任务“执行一次”或者定期“执行多次”。在实际的开发当中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。核心方法// 在指定延迟时间后执行指定的任务schedule(TimerTask task,long delay
2022-04-16 10:47:49
670
原创 JSON数据的基本用法
JSONJSON实际上是JavaScript的一个子集。在JSON中,一共就这么几种数据类型:number:和JavaScript的number完全一致;boolean:就是JavaScript的true或false;string:就是JavaScript的string;null:就是JavaScript的null;array:就是JavaScript的Array表示方式——[];object:就是JavaScript的{ … }表示方式。JSON还定死了字符集必须是UTF-8,表示多语言就
2022-04-16 10:46:07
734
原创 JVM内存溢出的几种方式与解决方法
内存溢出JVM运行时首先需要类加载器(classLoader)加载所需类的字节码文件。加载完毕交由执行引擎执行,在执行过程中需要一段空间来存储数据(类比CPU与主存)。这段内存空间的分配和释放过程正是我们需要关心的运行时数据区。内存溢出的情况就是从类加载器加载的时候开始出现的,内存溢出分为两大类:OutOfMemoryError和StackOverflowError。以下举出10个内存溢出的情况,并通过实例代码的方式讲解了是如何出现内存溢出的。java堆内存溢出当出现java.lang.OutOfMe
2022-04-16 10:44:14
6413
1
原创 JVM的类加载机制
类加载1、ClassLoader 用来加载 Class 文件2、 系统内置的ClassLoader 通过双亲委托加载指定目录下的class和资源3、 可以自定义ClassLoader 一般覆盖findClass()4、ContextClassLoader 与线程相关,可以获取和设置,可以绕过双亲委托的机制。三个类加载器BootStrap ClassLoader:称为启动类加载器,是Java类加载层次中最顶层的类加载器,负责加载JDK中的核心类库,如:rt.jar、resources.jar、ch
2022-04-16 10:42:34
34
原创 innoDB与MyISAM的区别与选择
innoDB与MyISAMInnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要有主键,通过主键索引效率很高。但是辅助索
2022-04-16 10:39:03
290
原创 oracle数据库的基本语法、创建表与存储过程
oracle数据库基本语法create database {ORACLE_NAME} --> # 数据库名,一般与ORACLE_SID相,创建数据库show user 查看当前用户 create user username identified by password; 创建新用户create tablespace tablespacename datafile ‘d:\data.dbf’ size xxxm;创建表空间 ,例如create tablespace animal
2022-04-16 10:37:40
556
原创 三种数据库的存储过程--Mysql,Postgress,Sybase
存储过程的创建和调用存储过程就是具有名字的一段代码,用来完成一个特定的功能。创建的存储过程保存在数据库的数据字典中。本文对三种数据库的存储过程的定义与使用进行具体罗列
2022-04-16 10:35:06
698
原创 vue第一个代码--输出hello vue
vue31、Hello Vue(文本)<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Vue hello</title> <script src="https://unpkg.com/vue@next"></script></head><body><div id="hello-vue" cl
2022-03-05 14:15:09
375
原创 日志管理--暂时整理log4j
日志管理作用:设置日志级别,决定什么日志信息应该被输出、什么日志信息应该被忽略。基本工具见的日志管理用具有:JDK logging(配置文件:logging.properties) 和log4j(配置文件:log4j.properties) 。日志工具有很多,应用程序这个框架用这个,另外一个框架用另外一个日志。配置日志就很麻烦。各自日志提供各自的,Self4j这个工具提供一个接口,用来管理日志工具,加那个日志的jar包,就使用哪个日志。SLF4J,即简单日志门面(Simple Logging
2022-03-05 14:13:09
54
原创 深入理解java虚拟机
深入理解java虚拟机Java发展历程标志性事件2012年JDK7仓促上线,很多规划的功能被砍掉2014年JDK8上线,陷入Jigsaw模块化功能深坑2017年经过艰苦的谈判,JDK9加入了Jigsaw模块化,增强了若干工具此后,Oracle对JDK开发进入敏捷开发阶段,每三个月和九个月发布一个新版本,由于迭代速度过快,决定每六个JDK大版本中一个才会被长期支持(LTS版)。JDK8、JDK11、JDK17为LTS版。2018年9月JDK11开始维护两个版本,OpenJDK和OracleJDK
2022-03-05 14:11:21
1293
原创 计算机操作系统精髓与设计原理
计算机操作系统精髓与设计原理高速缓存:主要解决处理器和内存的速度不匹配的问题。处理器的速度一致快于存储器的访问速度,这需要在速度、价格和大小方面进行折中。高速缓存区试图使访问速度接近现有的最快的存储器,同时保持价格便宜的大存储容量(以较为便宜的半导体存储器技术实现)。对于高速缓存的设计可以分为:高速缓存的大小、块大小、映射函数、替换算法、写策略。块大小即为高速缓存与内存交换数据的单位。当一个新块被读取到高速缓存中时,要根据映射函数确定这个块占据那个高速缓存单元,尽可能的减小替换的块在不久的将来还会
2022-03-05 14:06:16
3204
原创 cookie与sessionStorage,localStorage
cookielocalStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。会话Cookie:保存在浏览器内存中,关闭浏览器,Cookie便被销毁了。普通Cookie:保存在硬盘上,设置了过期时间,过期后销毁。sessionStorage,localStorage,Cookie都放在客户端浏览器,区别在于sessionStorage,localStorage存放的参数,不会主动传递给服务器端,解决了无用参数传递的问题。sessionStorag
2022-03-05 14:03:23
80
原创 后端代码设置Samesite属性
Samesite属性设置目的:防御CSRFCookie的属性SameSite如果不配置或者配置为none,则存在CSRF风险。SameSite的取值可以为:(1)unset(默认)。这种情况浏览器可能会采用自己的策略。(2)none。存在CSRF风险。(2)lax。大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外。(3)strict。完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带
2022-03-05 14:00:06
19
原创 CSRF攻击原理与防御方案
CSRF攻击的原理CSRF概念CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。CSRF
2022-03-05 13:58:02
159
原创 ESWAPI的使用
ESAPI的使用依赖jar包esapi-2.2.3.1.jarlog4j-1.2.17.jar配置文件1、ESAPI.propertiesESAPI.printProperties=true# 这个地方是配置ESAPI的实现类,项目中用到那个就选择性配置即可ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoderESAPI.Validator=org.owasp.esapi.reference.DefaultValidator# 以
2022-03-05 13:53:38
553
原创 防止基于 DOM 的 XSS
防止基于 DOM 的 XSS规则1原则:HTML 转义,然后 JavaScript 转义,然后再将不受信任的数据插入到执行上下文中的 HTML 子上下文中有多种方法和属性可用于在 JavaScript 中直接呈现 HTML 内容。这些方法构成了执行上下文中的 HTML 子上下文。如果这些方法提供了不受信任的输入,则可能会导致 XSS 漏洞属性 element.innerHTML = "<HTML> Tags and markup"; element.outerHTML = "<
2022-03-05 13:51:07
6174
基于遗传算法的MATLAB16阵元天线的优化.doc
2020-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人