<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ivorybeach的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ivorybeach</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ivorybeach]]></copyright><item><title><![CDATA[oracle_sql优化]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/107729448</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/107729448</guid><author>Ivorybeach</author><pubDate>Sat, 01 Aug 2020 13:09:16 +0800</pubDate><description><![CDATA[参考自《Oracle SQL高级编程》

SGA
]]></description><category></category></item><item><title><![CDATA[oracle_sql]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/107412927</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/107412927</guid><author>Ivorybeach</author><pubDate>Tue, 21 Jul 2020 14:21:02 +0800</pubDate><description><![CDATA[desc table_name #查看表字段

select * from all_tables where owner = 'usern_name' #查看所有表


]]></description><category></category></item><item><title><![CDATA[随笔]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/107378870</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/107378870</guid><author>Ivorybeach</author><pubDate>Thu, 16 Jul 2020 17:37:02 +0800</pubDate><description><![CDATA[数据字典：存储元数据（metadata）

schema：schema下有一系列对象，比如tables,views,indexs这些，每个数据库用户有他自己的schema，schema与用户名相同。schema objects是database objects对象的一种，数据库对象还包括roles,profiles这些。


...]]></description><category></category></item><item><title><![CDATA[docker-oracle]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/107185393</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/107185393</guid><author>Ivorybeach</author><pubDate>Tue, 07 Jul 2020 17:57:12 +0800</pubDate><description><![CDATA[情景：华为小破本的系统为Manjaro-KDE，一个口碑较好的Linux系统，存疑。当时只想装个Linux，这样学习一些东西不必再搞虚拟机，直接在系统里装就是了。然而还是太天真，像一些软件包Manjaro仓库中没有，安装需要手动编译，这个就麻烦死了。现在公司用的Oracle，想要装个Oracle学习一下，也只能用Docker来装一个了。

Docker这个东西，更换环境，不同操作系统、同一操作系统不同机器，的时候当然好使，但是似乎在生产环境的应用上有争议。

当时在BOSS直聘上找活干的时候，这个那个的要求]]></description><category></category></item><item><title><![CDATA[shell脚本]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/107175074</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/107175074</guid><author>Ivorybeach</author><pubDate>Tue, 07 Jul 2020 14:38:35 +0800</pubDate><description><![CDATA[shell，壳，区别于OS的核，是OS的最外面一层，通过shell调用应用程序，与OS交互。

kde/gnome/xfce等也是shell，属于图形界面shell，而Windows的cmd、linux的bash等属于命令式shell。

shell脚本，linux命令的揉合，可以在脚本中打印信息、定义变量、方法等，对一组命令加入逻辑控制实现特定的功能。

脚本后缀为*.sh，建立脚本后修改脚本权限，使其可执行。

执行shell脚本需要解释器，也就是shell，常见的shell：Bourne Shell:]]></description><category></category></item><item><title><![CDATA[centos7扩容/usr分区]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/105275084</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/105275084</guid><author>Ivorybeach</author><pubDate>Thu, 02 Apr 2020 18:23:47 +0800</pubDate><description><![CDATA[Centos7系统磁盘容量不足（10g），在vmware中增加到15g，仍需在centos中格式化磁盘。



可以看到整个sda为15g，而sda1和sda2加起来为10g。

fdisk /dev/sda增加主分区。


[root@bogon ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will rema...]]></description><category></category></item><item><title><![CDATA[centos7配置命令别名]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/105100590</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/105100590</guid><author>Ivorybeach</author><pubDate>Wed, 25 Mar 2020 18:20:55 +0800</pubDate><description><![CDATA[可以选择配置在/root/.bash_profile或者/etc/profile中

.bash_profile只针对root生效，也可以选择配在其他用户的.bash_profile下，

/etc/profile是全局配置文件，开机时会加载profile文件，如果profile中配置出错，将无法正常开机

/root/.bash_profile配置：


...]]></description><category></category></item><item><title><![CDATA[Navicat Premium12远程连接oracle数据库]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/104937782</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/104937782</guid><author>Ivorybeach</author><pubDate>Wed, 18 Mar 2020 10:07:44 +0800</pubDate><description><![CDATA[搞我到心态爆炸

现在终于能连上了，mark一下

其实就是oci版本问题



提示各种错误信息，诸如：

navicat is not able to create oci handles

oracle library is not loaded

以上都是oci版本的问题，

可以去官网直接下载oci版本的包，也就是只包含oci的oracle client :https://www.or...]]></description><category></category></item><item><title><![CDATA[Java异常]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/102604474</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/102604474</guid><author>Ivorybeach</author><pubDate>Thu, 17 Oct 2019 13:33:27 +0800</pubDate><description><![CDATA[一、异常类结构

异常类结构图：（图片地址：https://img-blog.youkuaiyun.com/20180920165502957?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21pY2hhZWxnbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70）



说明：

1.Thro...]]></description><category></category></item><item><title><![CDATA[单例模式和工厂模式]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/102554338</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/102554338</guid><author>Ivorybeach</author><pubDate>Thu, 17 Oct 2019 11:54:54 +0800</pubDate><description><![CDATA[单例模式

整个类只能有一个已经预定好的实例，该类保证只有一个对象被创建，这里的一个对象指：不管创建多少个对象，都是相同的对象。

Java反射能够使用private类型的构造器构建实例，遇上反射什么单例模式都不单例了。

单例模式的特点：

构造方法为私有
	持有自己类型的属性
	对外提供获取单例的静态方法
饿汉式

在程序运行时直接创建单例，线程安全，全局只有一个初始就被实例化的单例，但是因为...]]></description><category></category></item><item><title><![CDATA[Java反射和动态代理]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/102518322</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/102518322</guid><author>Ivorybeach</author><pubDate>Sun, 13 Oct 2019 15:32:24 +0800</pubDate><description><![CDATA[1.Class类

Class类是一个用于描述类的类，其实例代表了一个运行中程序的类或对象，可以通过Class类实例来获取一个类的相关信息，比如Field，Method，Constructor等信息。

Class没有公有构造方法，一个Class对象是被JVM自动实例化的。

获取一个Class实例的三种方式：

类名.class
	类实例.getClass()
	Class.forName("类...]]></description><category></category></item><item><title><![CDATA[多线程（五）：线程池]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101992941</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101992941</guid><author>Ivorybeach</author><pubDate>Tue, 08 Oct 2019 13:58:05 +0800</pubDate><description><![CDATA[一、网摘

程序的运行，其本质上，是对系统资源(CPU、内存、磁盘、网络等等)的使用。如何高效的使用这些资源是编程优化演进的一个方向。线程池就是一种对提高系统资源利用的优化手段。

在多个线程并发处理任务的情况下，如果每个线程只是执行一个时间很短的任务就结束，那么线程的创建和销毁会占用相当一部分系统资源。线程池就是在池中创建多个活跃的线程，当任务到来时，就分配若干线程去执行任务，任务执行完之后，线...]]></description><category></category></item><item><title><![CDATA[多线程（四）：ThreadLocal]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101992904</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101992904</guid><author>Ivorybeach</author><pubDate>Sat, 05 Oct 2019 14:23:54 +0800</pubDate><description><![CDATA[一、简述

ThreadLocal可以看作是一种数据结构，底层用map来实现。

ThreadLocal为每一个线程创建一个线程本地（thread-local）的变量，每个线程都有其独有的本地变量，相互之间的操作互不影响。

在多个线程并发访问同一个变量时，为了保证数据安全，synchronized或是Lock对对象上锁，当线程持有锁，其他线程不得访问，只有当持有锁的线程执行完毕，其他线程才能够获...]]></description><category></category></item><item><title><![CDATA[多线程（三）：synchronized和Lock]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101992861</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101992861</guid><author>Ivorybeach</author><pubDate>Fri, 04 Oct 2019 19:30:06 +0800</pubDate><description><![CDATA[Synchronized

可重入锁：当一个线程得到一个对象的锁后，其他线程不可再获得此锁，但是此线程可以再次请求获得其对象的锁，这样就称之为可重入锁。可重入锁保证了一个线程获得锁之后可以再次请求锁，能够在一定程度上减少程序死锁的几率。

synchronized和ReentrantLock都是可重入锁。

synchronized的解锁过程是由JVM自动控制，Lock需要手动解锁。

通过syn...]]></description><category></category></item><item><title><![CDATA[多线程（一）]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101917420</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101917420</guid><author>Ivorybeach</author><pubDate>Thu, 03 Oct 2019 14:15:15 +0800</pubDate><description><![CDATA[一、概述

进程和线程：

 线程可以看作是对进程的再划分，比如eclipse是一个进程，而eclipse提供的各种功能就是一个个小小的线程
 进程应当是独立的应用程序，而线程，同类的进程能够共享同一块内存空间，这样在各个线程之间切换时，负担比进程之间的切换小
 进程为独立运行，而线程之间可能会相互影响，考虑到死锁和线程之间的通信，多线程就是多个线程同时运行

线程和CPU：
...]]></description><category></category></item><item><title><![CDATA[多线程（二）：锁和线程通信]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101922844</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101922844</guid><author>Ivorybeach</author><pubDate>Thu, 03 Oct 2019 14:09:04 +0800</pubDate><description><![CDATA[锁

synchronized，可以加在方法或代码块上，加在代码块上可以只对需要同步的内容加锁

死锁：死锁是多个线程同时陷入等待的情况，举例A线程需要B线程的数据，B线程需要A线程的数据，二者都在等待对方的数据。解决死锁的最好办法是预防死锁出现。

同步

同步是为了保持数据的一致性，可以通过为数据加锁来实现同步。所以在设计代码时，synchronized关键字的位置，是加在需要同步的数据上。
...]]></description><category></category></item><item><title><![CDATA[Hash算法和Hash表简述]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101769868</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101769868</guid><author>Ivorybeach</author><pubDate>Mon, 30 Sep 2019 15:58:35 +0800</pubDate><description><![CDATA[Hash算法

hash，即散列，是指把任意长度的输入，通过hash算法，变成固定长度的输出，输出的就是散列值。

散列过程是一个压缩过程，得到的散列值占用的空间小于原来的输入。

不同的输入可能会导致相同的散列值，这就是哈希冲突，或者说发生了"碰撞"。

一个好的hash算法，就是要减小发生碰撞的几率。

常见的Hash算法：

MD4：适用于32位处理器，已弃用。
	MD5：Message-D...]]></description><category></category></item><item><title><![CDATA[equals(),==,hashCode()]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101717003</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101717003</guid><author>Ivorybeach</author><pubDate>Sun, 29 Sep 2019 22:24:40 +0800</pubDate><description><![CDATA[本来是要梳理在hash集合中，是如何利用equals()和hashCode()判定元素是否重复，但是要说equals()就要谈==，索性一起总结。

参考博文：https://www.cnblogs.com/skywang12345/p/3324958.html

强烈推荐一看。

equals()和==

当是普通数据类型(int,double,char等)，==是直接比较值，如果是引用类型数据...]]></description><category></category></item><item><title><![CDATA[集合]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101680700</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101680700</guid><author>Ivorybeach</author><pubDate>Sun, 29 Sep 2019 15:59:29 +0800</pubDate><description><![CDATA[集合类结构图：



图片来源于网络，侵删。

Collection

List和Set接口的父接口，继承了Iterator接口，所以List,Set均可以使用迭代器输出。定义了add(),remove()这些方法，不同类型的集合，对collection中方法的实现有所不同。

que：Collection和Collections的区别？

Collection是集合的root interface...]]></description><category></category></item><item><title><![CDATA[IO]]></title><link>https://blog.youkuaiyun.com/Ivorybeach/article/details/101599409</link><guid>https://blog.youkuaiyun.com/Ivorybeach/article/details/101599409</guid><author>Ivorybeach</author><pubDate>Sun, 29 Sep 2019 14:36:52 +0800</pubDate><description><![CDATA[一、概述

IO根据要操作对象的类型不同（操作的媒介不同），可以分为多种。Writer/Reader，InputStream/OutputStream为抽象类，定义了IO所通用的方法，包括write(),flush(),close()等。Writer/Reader对应为字符流，可以用来操作中文字符，InputStream/OutputStream为字节流，可以传输图片等。

IO类结构图：



...]]></description><category></category></item></channel></rss>