- 博客(129)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JavaScript数据结构-6-2二叉排序树
<!DOCTYPE html><html> <head> <title> </title> <meta charset="utf-8"> <script src="BST.js" type="text/javascript"> ...
2020-02-11 14:34:04
150
原创 解决IDEA报错端口被占用的问题
遇到的解决方案通常是执行netstat -ano | findstr "8080" ,然后去关闭对应的进程。但是我遇到的是8080改成任意一个端口,都报错端口被占用,且使用上面的命令并不能查到对应的进程。网上找到的方案能解决我的问题,原链接所有提供的方案我都试过了,希望大家能少走一点弯路。链接没办法选转载或者翻译(需要原作者同意),见谅。只用执行红色部分,就能成功解决了。
2024-01-29 16:50:01
469
原创 ORACLE内存结构
内存体系结构数据库由磁盘文件构成,当数据库启动时,相关实例将被启动,而实例由内存结构和进程组成。数据库及其运行的程序存放在分配给内存的不同结构当中。我们只讨论单实例的内存体系结构。内存跟磁盘空间分配一样,一般情况下,我们只关注其大小,而内存的大小由各种数据库内存参数控制。内存的大小可以手动分配,也可以自动分配,自动分配运行的更好,因此这里也只主要讨论自动分配的参数,记住这篇文章以专用服务器模式讲解,如果是共享服务器,并不适用通过本章内容的学习,你将了解到:为什么报错程序单元not found
2023-10-17 11:04:56
689
原创 ORACLE逻辑存储结构
每个数据文件对应一个位图(什么是位图,我们在讲索引的时候会谈论到它,可以先理解成一个数组,数组的值只存0和1),每一个块就作为位图的一个条目,当该块作为区段的一部分被分配出去了(所以区块应该是最小的分配单元),就将对应位图的值由0改成1,想要逻辑连续的区段,就在位图上寻找连续的一段1,然后拿到这些1的物理磁盘地址,进行分配。多提一句,后面会介绍表分区和索引分区,分区的核心就是,根据分区策略,将表数据拆分到不同的表段中,每个段放在相同(相同的表空间并没有充分体现分区表,索引的优越性)或不同的表空间中。
2023-10-12 11:40:58
361
原创 ORACLE-JDBC-03 UCP连接池
1.入门连接池概述连接池是数据库连接对象的缓存。这些对象表示应用程序可以用来连接到数据库的物理数据库连接。在运行时,应用程序从池中请求连接。如果池包含可以满足请求的连接,它会将连接返回给应用程序。如果未找到连接,则会创建一个新连接并将其返回给应用程序。应用程序使用连接对数据库执行一些工作,然后将对象返回到池中。然后该连接可用于下一个连接请求。连接池促进了连接对象的重用并减少了创建连接对象的次数。连接池显着提高了数据库密集型应用程序的性能,因为创建连接对象在时间和资源方面都是昂贵的。网络通信、读
2021-11-12 18:25:51
1623
原创 ORACLE-JDBC-02 入门
使用JDBC,访问数据库,无非是连接数据库,然后执行增删改查以及执行存储过程。1.连接数据库连接数据库有oci和thin两种方式区别如下:在为您的应用程序或小程序选择 JDBC 驱动程序时,请考虑以下事项: 通常,除非您需要 OCI 特定的功能,例如支持非 TCP/IP 网络,否则请使用 JDBC Thin 驱动程序。 如果您想要最大的可移植性和性能,请使用 JDBC Thin 驱动程序。您可以使用 JDBC 瘦驱动程序从应用程序或小程序连接到 Oracle 数据库。
2021-11-07 23:02:58
837
原创 ORACLE-JDBC-01 环境搭建
1.安装IDEA并搭建MAVEN环境略2.下载并配置JDBC驱动从服务器$ORACLE_HOME/jdbc/lib路径下拷贝出来ojdbc8.jar文件(也可以去官网下载),放入我的项目文件lib目录下,如下然后可以参考下面链接进行配置在 IDEA 中使用 Oracle JDBC 驱动_XiaoJL博客-CSDN博客3.使用官方示例代码import java.sql.*;import oracle.jdbc.*;import oracle.jdbc.pool.Orac.
2021-11-07 22:37:41
330
原创 AutoTrace和Explain Plan 区别
要想拿到解释计划,我们一般是选中sql语句,按F5出现explain plan,想拿到执行计划,我们又不得不去服务器取得执行计划。后者太繁琐,前者又不能体现真实的执行计划(Oracle SQL execution plan is incorrect),总结一下:解释计划是优化器在您运行时认为会发生的事情,执行计划实际上是在您运行查询时发生的。我们需要轻量级的获取执行计划的方式,这里总结一下,供大家参考1.autotrace使用autotrace需要一些准备工作1.1 授权我们在下面路
2021-09-30 12:04:27
268
原创 ORACLE DATABASE 深度优先搜索的实例
我们经常会遇到这样的场景,知道程序的入口A,然后A调用XX,XX调用XXX……,最后XN调用D,我们只知道A和D,想要找到这个调用链,比如A-B-C-D但是很多情况不是像这样的链表或者树,而是调用很复杂的图。如下图为了模拟这个调用链,我们可以创建5个测试包。CREATE OR REPLACE PACKAGE cux_test_d IS PROCEDURE test;END cux_test_d;CREATE OR REPLACE PACKAGE BODY c...
2021-09-12 22:30:49
439
原创 Oracle Database-03-创建表空间和用户
1.查看当前已存在的表空军1.1表空间select * from dba_tablespaces;】、1.2表空间所在路径select * from dba_data_files;3.用户select * from dba_users;2.创建表空间--用户表空间create tablespace apps_data_tablespacedatafile '/usr/local/oracle19c/oradata/ORCL/APPS_DATA_TA..
2021-09-12 11:35:20
219
原创 Oracle Database-02-内存结构
1.分类Oracle内存结构如下:SGA:系统全局区PGA:进程全局区UGA:用户全局区 SGA PGA UGA 共享服务器 UGA在此分配 专用服务器 UGA在此分配 PGA还含有自己的用户排序和散列的内存区域。假如PGA大小是固定的,共享服务器更好一点,因为对于专用服务器,排序和散列需要占内存,UGA也需要占内存,内存不够的
2021-09-05 19:16:59
123
原创 React 环境搭建(Windows)
1.安装nodehttps://nodejs.org/en/downloadcmd下输入node --version2.创建react项目选择某个目录,执行npx create-react-app test01执行速度太慢了,因此得先设置nmp源npm config set registry http://registry.npm.taobao.org/3.启动项目cd test01执行npm start...
2021-07-28 19:10:49
254
原创 JAVA入门
1.入口函数package org.example;/** * Hello world! */public class App { public static void main(String[] args) { System.out.println("Hello World!"); }}这个main作为入口函数,前面有几个修饰符public:关键字 public 表示方法可以被外界访问到static:意味着该字段或方法不依赖于任何特定
2021-07-11 22:39:39
232
原创 MAVEN入门
这里记录一下自己配置过程1.下载地址http://maven.apache.org/download.cgi解压到本地比如我解压到E:\learn\Maven\apache-maven-3.8.12.配置环境变量新建环境变量MAVEN_HOMEE:\learn\Maven\apache-maven-3.8.1以及path;%MAVEN_HOME%\binpath后面不要加上;当然首先也得装一下JDK并配置JAVA环境...
2021-07-10 21:06:00
134
2
原创 Oracle Database-01-安装
1.下载地址https://www.oracle.com/database/technologies/oracle-database-software-downloads.html选择下图
2021-07-04 00:36:39
441
2
原创 执行计划优化例子
1.现象执行下面这段代码,发现子库存表走了全表扫描SELECT msi.secondary_inventory_name , --子库存 msi.description --库存说明 FROM inv.mtl_secondary_inventories msi ,csi_item_instances cii WHERE msi.secondary_inventory_name = cii.inv_subinventory_nam
2021-05-26 22:27:09
455
1
原创 Oracle性能优化-5-表连接
表连接,就是俗称的“=”,包括左连接右连接外连接,我们这里讨论的是优化器的连接,在Oracle性能优化-3-提示,3.13-3.15涉及到了嵌套循环,排序合并,哈希连接。3.6INDEX_JOIN索引合并。1.连接原理1.1嵌套循环由执行计划得知,ph作为驱动表,pll作为内表(执行计划靠上的是驱动表),从驱动表读取一条数据,然后去内表找所有po_header_id对应的所有数据。要点:驱动表数据行源小,上面的例子中ph由于指定了po_header_id,返回数据只有一条,默认的驱动
2021-04-27 02:11:25
272
原创 ORACLE读封锁
看书偶然看到这一现象,针对房间预定时,如果表中start_date到end_date,查询不到数据,则表示房间可以预定,针对这个业务场景创建表和函数create table schedules_test(start_time date,end_time date)我在两个窗口下执行下列操作,发现全都插入成功了DECLARE l_count NUMBER;BEGIN SELECT COUNT(*) INTO l_count FROM schedules_
2021-04-10 15:35:01
132
原创 Oracle性能优化-4-SQL优化
前面讲到了索引和提示,指出了优化的工具,而SQL优化的对象,也就是哪些语句需要被优化,这一章将讲明。4.1查找SQL4.1.1当前最糟糕的会话select s.sid, m.physical_reads, m.cpu, m.logical_readsfrom v$sessmetric m, v$session swhere m.session_id = s.sid and m.session_serial_n
2021-04-06 16:29:32
741
原创 Oracle性能优化-3-提示
我们在 Oracle性能优化-1-索引中第五节索引价值第一次用到了提示,提示可以否决优化器的决定,以其获取更佳的查询性能。3.1FIRST_ROWS最短时间获取前N行,n不能超过1000select /*+ first_rows(1) */ * from mtl_system_items_b msi where msi.organization_id = 204 and msi.inventory_item_id = 453.2ALL_ROWS检索大量数据,比如报表环境
2021-04-02 16:40:42
871
原创 共享池共享条件和执行计划
https://docs.oracle.com/database/121/TGDBA/tune_shared_pool.htm#TGDBA565SQL Sharing CriteriaOracle Database automatically determines whether a SQL statement or PL/SQL block being issued is identical to another statement currently in the shared pool.T
2021-04-02 15:19:00
152
原创 Oracle性能优化-2-SQL跟踪
alter session set sql_trace truealter session set sql_trace falseselect spid, s.sid, s.serial#, p.username, p.program from v$process p, v$session swhere p.ADDR = s.PADDR and s.SID = (select sid from v$mystat where rownum = 1)
2021-03-29 14:36:33
1887
原创 Oracle性能优化-1-索引
1.索引的基本概念访问表的数据时,有两种方式,通过全表扫描找到这一行,或者通过ROWID找到该数据。当需要检索的数据所占表数据5%及一下的时候,考虑创建索引。使用索引要防止数据分散在多个块中。不是创建索引越多越好,新建一个索引,将增加insert三倍的时间,update一倍的时间,DML操作都是先查找,再操作,索引减少的只是查找的时间。...
2021-03-11 19:26:08
698
原创 EBSdemo启动
首先还是拷贝的虚拟机。1.启动虚拟机用户名密码rootrootroot启动数据库su - oracle ./startdb.sh su - applmgr ./startapp.sh在浏览器输入http://192.168.15.23:8000/没有效果因为虚拟机的IP地址并不是192.168.15.23设置下图的ip地址为设置虚拟机的虚拟网络设置为现在再次ping浏览器输入http://192.168.15.23:8...
2021-03-11 18:31:25
210
原创 正则表达式-02-字符编码
1.转义我们写的正则表达式,前面总有一个r"",代表原始字符串,如果不用这个r,则需要用\\\\代表\,用\\s代表\simport res="\ 1"#result=re.match(r'\\\s\d',s)result=re.match('\\\\\\s\\d',s)print(result.group())2.字符编码看下面的例子print("汉".encode("utf-8"))#b'\xe6\xb1\x89'print("汉".encode("raw_unico
2020-09-14 17:48:34
904
原创 正则表达式-01-入门
前言通俗的讲正则表达式,其作用可以理解成查找替换,我们编辑文本的时候,经常用到的一个快捷键就是ctrl+f,这就是正则匹配,不过匹配的只是普通字符。正则表达式只是一套规则,需要语言来实现它,所以我们先学一下perl的基础。就像学一门语言最快的方法不是拿一个大厚本去读,而是边写边查,循序渐进,虽然做不到像前者面面俱到。但是很多人包括我,一开始也抵触这种做法,想要追求系统化的学习,这其实是学生时代的陋习,相信各位都有完整的学完一门语言,编程语言不像是物理数学,每一章都是割裂的,因此不按顺序学完全是聪明人
2020-09-08 13:15:20
1085
原创 unable to connect to adb check if adb is installed correctly
uiautomatorviewer.bat的启动路径为AndroidStudioSdk\tools\bin双击这个uiautomatorviewer.bat点击红圈的按钮,居然报错了文中方法可行https://blog.csdn.net/qq_36071547/article/details/103073989
2020-09-07 14:06:44
479
原创 Appium初体验
偶然接触到这个自动化测试工具,现记录一下使用过程,另外我没有安卓真机,先用的genymotion模拟器,觉得夜神模拟器更加方便一点提供一部分安装包给大家,方便大家下载链接:https://pan.baidu.com/s/1MdSD14KGH_NU8n3cRrzknw提取码:cu5y1前置工作1.1安装并配置Android sdk环境略1.2安装Pycharm略1.3安装配置JAVA JRE使用的过程中一直报错:找不到JAVA_HOME,所以也就索性重装一了一遍,安装
2020-09-03 17:24:55
2928
原创 机器学习-01-Numpy-01
前言1.1机器学习是什么:说到机器学习,应该首先提到“人工智能”,人工智能,当然是模拟人的智慧,比如在12306网站上买票,出现的验证码比如我们看小说,听说书,单纯的字符或者语音就能在脑海中形成一幅幅画像,又比如司机开车,清洁工扫地。人的活动总是有输入,如语音,图像,触觉,嗅觉,人通过这些信息的输入,来作出反应。机器学习是人工智能的一种实现方式,具体步骤是1.数据的特...
2020-09-02 17:43:13
640
原创 奇异值分解的定义及应用
1.定义直接把《统计学习方法》的图拿过来一眼看过来,就是把矩阵A拆成三个矩阵UΣV(转置)三个矩阵之积。看看n阶方阵的定义目前看过来。U是m阶矩阵,那U应该是一个二维矩阵。注意维度不等于阶数,后面我们会使用三维矩阵验证这个奇异值分解还是不是适用再看看正交矩阵的定义我们用numpy验证一下,下面的矩阵是不是正交矩阵正交矩阵的意思就是,P有四个列向量,第一个列向量与自身向量内积是1,而与其它三个向量内积是0(也就是垂直),内积就是点乘,cosimport ..
2020-08-31 12:31:25
2835
原创 计算表达式的值
计算表达式的的值是栈的应用,比如我们求中缀表达式(A+B*(C-D)-E/F)的值,1.首先需要将它去掉括号,转化为后缀表达式ABCD-*+EF/-2.依次扫描后缀表达式的值,如果是数字入栈,遇到运算符则弹出两个数,和运算符运算后再入栈……最后栈顶就是结果给出python代码如下:class LinkNode: def __init__(self,**kw): self.data=kw["data"] self.next=kw["next"]cla
2020-08-31 09:07:32
1724
1
原创 selenium版本不一致导致的报错
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80出现这个错误一般是webdriver版本和浏览器版本不一致我的谷歌浏览器版本我的webdriver版本之前装过webdriver,也加入了环境变量中,所以我现在找不到这个变量了,那总不能把我的ch.
2020-08-17 11:43:48
614
原创 python-多进程&多线程
参考资料:https://www.liaoxuefeng.com/wiki/1016959663602400/1017628290184064目录1.多进程1.1进程组成1.2进程状态和转换1.2.1使用Process方法创建进程1.2.2使用继承方法创建进程2.多线程1.多进程想象一下,我办了一个工厂,专门生产中性笔,我请了一个工人,负责生产。这个工人先制造笔帽花了一个小时,再制造笔杆,也花了一个小时,但是只有一个工人,所以花了两个小时才组装一只中性笔。如果我雇佣.
2020-08-05 22:00:18
631
原创 python爬虫开发教程-02-学习python简单语法
我们来看看其它网站的学习流程来源:https://www.runoob.com/python3/python3-tutorial.htmlhttps://www.liaoxuefeng.com/wiki/1016959663602400可以跟着流程走一遍,但是还不够高效。简单看一下上面的目录,入门一种编程语言,究竟学的是什么。我记得我第一种编程语言,是visual basic 6.0而第一次系统学一门语言。是C语言,在我看来,c语言比我学过的java python php js ts
2020-07-25 22:43:49
303
原创 python爬虫开发教程-01-环境搭建
本人没有Mac,请在windows环境下安装。所以MAC里面能安装VM并启动Win操作系统么所需要安装的软件,部分上传到了我的百度云,建议先下载完毕后再进行后续操作链接:https://pan.baidu.com/s/1SL_MFREVb7yPBzMMANgJkQ提取码:bfvj或按下面流程中提供官网地址,根据情况自行选择相应版本下载。我们需要下载并安装1.pycharm,2.xshell,3.Vmware WorkStation4.Linux操作系统CentOS后
2020-07-23 22:08:48
1347
原创 shell编程
参考教程:https://www.w3cschool.cn/linux/linux-shell.htmlhttps://www.runoob.com/linux/linux-shell.html感觉都差不多这里我想了一下,直接上手写代码可能效果会更好。//插入排序function insertSort(A) { var j, temp; var n = A.length; for (var i = 1; i < n; i++) { j = i
2020-07-13 17:40:58
162
原创 vim-01-复制粘贴命令
来源:https://www.runoob.com/linux/linux-vim.html命令模式yw:复制单词y$:复制从当前位置到行末的文本yy:复制当前行nyy:复制从当前行到第n行的文本,n为数字dd:剪切p:粘贴可视模式按v进入可视模式移动光标选择需要复制的文本,y:复制d:剪切底线命令模式:%y:复制全文:%d:剪切全文...
2020-07-11 20:05:44
178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人