自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 FTP搭建与自动上传脚本

ftp -n -s:“temp.txt”:使用FTP命令执行temp.txt文件中的命令。这个地址是FTP服务器用来建立连接的。将一条FTP命令写入temp.txt文件,这条命令用于上传本地文件D:\Oracle_bak\data_YYYYMMDD.dmp到FTP服务器,并在服务器上保存为YYYYMMDD.dmp。echo user ftpuser ftpuser >> temp.txt:将FTP登录的用户名和密码(这里用户名和密码都是ftpuser)写入temp.txt文件。exit:退出批处理脚本。

2024-03-08 11:39:14 814

原创 oracle查询带有空格的字段

字符的长度>去空格后的长度;–空格存在的位置大于0,即存在空格;

2023-11-08 10:12:34 1226

原创 Invalid bound statement (not found)原因

网上有很多种原因可以参考这个:https://blog.youkuaiyun.com/zykwblx/article/details/125425421。写sql的xml文件名称也有关,例如设置上是根据文件名带Mapper来扫描,你就得加上Mapper。这里说一个没有被提及的。

2023-07-27 09:49:48 151

原创 【刨根问底】之JVMpart5(自定义类加载器实例、验证、准备、解析、初始化、类加载操作、动态类加载)

1.4.2.1.6自定义类加载器实例//从ClassLoader继承新建类MyClassLoaderpublic class MyClassLoader extends ClassLoader { //该字段用来配置类加载器的目标根目录 private String root; public String getRoot() { return root;...

2020-02-27 20:25:14 313

原创 【刨根问底】之JVMpart4(类加载机制深入详解、动态绑定与静态绑定、class对象、klass-oop模型、类加载器、Launcher类、双亲委派机制与命名空间、ClassLoader类)

1.类加载机制详解1.1类加载的定义当程序运行至主动需求使用某个类的数据,而JVM中并不存在该类时,JVM将会通过加载、连接、初始化三个步骤来对该类进行加载,这一系列的三步操作被合称为类的加载或者类的初始化1.2类加载的时机在java的实现方案中,类型的加载是时机是运行期间加载的显然,动态加载将会带来更大的灵活性,但是对于性能来说似乎并不是优秀的方案,jvm将要设法避免发生程序运行至某处...

2020-02-27 12:56:37 929

原创 【刨根问底】特殊的类型:String part1(String相关的存储空间底层、运行时常量池、intern方法)

1. String的本质作为Java最常用的类型,String的特性总是一个热门话题,其本质是一个jdk提供的核心类,因此,和数组和基础类型这些怪物不同,我们可以阅读其底层实现的代码public final class String(){ private final char[] value;}//重写自Object方法的比较方法 public boolean equals(Obje...

2020-02-20 15:10:16 442

原创 【刨根问底】特殊的类型:String part2(String源码探究)

1.聊一聊String源码如果想要去讨论Stirng特性,那么String源码自然是最值得讨论的东西,应该说,对于最常用的工具,去阅读一下其底层实现自然是十分值得的,自然在一篇文章中讨论4000多行代码显得不现实,且多数方法并不值得去深究讲述,再此,单独领出一些值得讨论的部分1.1String 成员变量1.1.1数据存储之value数组 /** The value is used for ...

2020-02-18 19:24:31 338

原创 【刨根问底】之特殊的对象——数组(java中数组的本质)

1. java数组的本质//动态初始化Integer[] array = new Integer[5];int i = 5;Integer[] array = new Integer[i];//静态初始化Integer[] array = {1,2,3};众所周知,java的数组是对象,虽然十分基础,但是不少朋友工作一段时间甚至会忘记这东西如何实例化,这其实非常简单因为这玩意诡异的...

2020-02-15 21:53:19 392

原创 《java编程思想》读书笔记——第二章2.2所有的对象都必须创建(对象初始化、如何使用java可以使用的对象空间、基础类型、java数组安全性)

2.2所有的对象都必须创建一般而言,我们创建完句柄后,希望他与一个新对象相连,都会使用new关键字,其意义可以理解为“把我变成对应的新的类型”String s = new String("初始值");在此处,new +String(),可以理解为,把我根据String的该构造方法String(“初始值”);变成一个字符串类型2.2.1保存到何处在此前详细谈论过jvm的内存结构,在此处,...

2020-02-10 19:31:13 230

原创 《java编程思想》读书笔记——第二章2.1用句柄操作一个对象(句柄)

2.0一切都是对象虽然java以C++为原型设计且同为杂合语言,但是与C++为了迎合C向后兼容因此带来的多种编程风格不同,Java在最开始就确定了希望只使用面向对象的风格进行编程——在本章将会讲述细解java的基本组件,并说明为何java乃至java程序内的一切全是对象2.1用句柄操作一个对象首先,何为句柄(Handle),在Java中我们需要使用对象时,用于连接它的引用就是句柄。每种语言...

2020-02-10 19:03:30 287

原创 《java编程思想》读书笔记——第一章1.12分析和设计(需求分析主体概念)

1.12分析和设计原书再此抨击了市面上许多作者对于OOP设计过于复杂化的论调,因为本质上OOP的诞生就是为了让我们可以更简单的设计出优秀的项目,让我们看看作者的观点,如何利用OOP的特性写出一些“好”的代码吧1.12.1不要迷失对于程序编程,我们大多数时期面对的总是比较“常规”的需求,但是如果你在考察某种特殊的方法,而感觉深陷于设计泥潭中不断的“套娃”,时刻记住以下两点:(1)对象是什么—...

2020-02-08 22:31:51 244

原创 《java编程思想》读书笔记——第一章1.11java与网络编程(网络编程概念、客户端编程概念)

(1.10永久性由于无法查到相关资料,且书本本身只是提及了概念不另做为一章,对象的永久性指的是程序结束后,对象仍然得以保存下来的特性,但是这种效果本身可以将数据存入数据库来实现)1.11java与网络编程java本身只是一种新类型的程序设计语言,为何可以被赞誉为里程碑式的进步,其实有很大一部分原因来自于它还拥有可以支持网络编程的能力...

2020-02-08 21:21:16 348

原创 《java编程思想》读书笔记——第一章1.8违例控制

1.8违例控制在早期语言中,因为难以设计出所有类型错误的具体解决方案,大部分的语言放弃了对于程序的错误管理,而将程序的错误交付给了程序员——这并非一种可取的方法因而,出现了一种违例控制对象(Exception)在代码进行运行时,若出现异常情况,将会向外抛出一个异常对象而后,这些异常对象将会被违例控制器进行捕获,并根据设计的逻辑进行特定的处置并且,我们可以通过重写为例控制器等方法,使得程序...

2020-02-04 12:54:39 186

原创 《java编程思想》读书笔记——第一章1.7对象的创建和存在时间(java&c++对象创建原则及原因,结合,继承器,单根结构,向下转型,GC设计实例)

1.7对象的创建和存在时间之前提到,对于面向对象的程序编程,我们需要的基础能力包括:1.抽象数据类型(adt,也就是将客观存在描述为对象的能力)2.对象的多态性3.继承同时,还有许多值得讨论的问题,其中,最为重要的便是对象的创建与破坏方式,对于一个对象,我们将其创建后存放于何处,又该如何管理它的存在时间?该问题对于各种语言都有自己的选择,原书中同时讨论了C++和java的策略,对于c+...

2020-02-04 12:48:55 330

原创 《java编程思想》读书笔记——第一章1.7对象的创建和存在时间sp4(java程序执行实例)

前三个sp我们详细的讲解了一个对象被创建出来之后发生的一切,包括GC收集器运行过程,但是java对象本身从何而来,或者说,一个正常完整的java程序是如何完整运行的?在这一篇,我们将会以一段简单的代码实例作为范例,详细讲解一段程序在执行时,JVM底层的空间分配class Student { int age; String name; Computer computer; public ...

2020-02-03 12:35:43 153

原创 【刨根问底】之JVMpart3(垃圾算法,FullGC本质,对象存活判定,GCroot,常用垃圾收集器概述,CMS垃圾收集器详解)

1.垃圾收集器常用算法1.1复制算法该算法底层逻辑实际为将存储空间一分为二,只使用其中的一般存储,若存储满,则将还存活的复制到另一半,将原本部分直接全部清除——该算法速度快而且不会留下内存碎片,而代价是存储空间只使用了一半,名副其实的空间换时间,而实际上在对象的一生中所演示的逻辑就是复制算法的优化——当大部分对象都是朝生暮死的情况下,存储空间并不需要对半分,从而实际支付的空间代价变得很小1...

2020-02-02 19:41:34 1192 1

原创 【刨根问底】之JVMpart2(java堆结构、分代算法机制及过程,对象的一生,元空间与方法区,GC触发条件)

栈内存详解1.先进后出,插入和释放的本质是指针的上下移动,因此速度非常快2.调度指针的函数需要知道每个存入的数据的具体存在时间,在java中因为这个特点,栈一般不用来存放对象3.因为其速度快且先进后出的运行模式,通常作为方法执行的内存模型4.方法调用时,开辟一个独立的栈帧如main方法,main方法中调用了其他方法时,开辟下一个新栈帧,由于先进后出,所以main会最后被释放5.在java...

2020-01-31 10:09:33 734

原创 【刨根问底】之JVMpart1(抽象数据类型,jvm内存空间结构,栈,寄存器,直接内存,线程概念,多线程概念,native方法)

1.面向对象的编程补完上述概念后,当我们要实行"面向对象的编程"行为的话,我们需要做一些什么呢:1,抽象数据类型2,继承3,多态4,封装pass:抽象数据类型指的是,将具体问题中的元素,按照1.数据2.关联&行为(也就是特征)三个要素进行抽象化的行为然而上,除了这些基础技能点,我们还有一些额外的需要考虑的问题,其中最为重要的就是——对象的创建和存在时间2.对象的创建和...

2020-01-29 09:50:27 302

原创 《java编程思想》读书笔记——第一章1.6多形对象的互换使用(多态)

1.6多形对象的互换使用1.继承带来的多态继承的使用通常会带来一个,大量的类在同一个基础类型的基础上建立的情况,如图所示2.向上转型要处理好这些大量的类,我们需要注意,在编写代码的时候应该将这些子类当作父类来对待,处理这样的好处:1.我们只要针对父类规定的接口书写单一的代码,忽视具体类型细节,将具体逻辑交给类自身的具体实现,代码变得更加容易理解和书写2.代码变得有扩展性,比如此时再增...

2020-01-28 13:24:42 277

原创 《java编程思想》读书笔记——第一章1.5继承:重新使用接口(继承)

1.5继承:重新使用接口1.继承的由来我为什么会想要由继承这样的功能,比如我费劲心思设计出了一个对象后,又需要再去从头花费心思去书写一个结构功能相仿的新类是一件令人灰心的事,因此继承孕育而生2.继承会做到什么本质上,可以理解为通过对旧类的克隆创造出新的类,但是比起克隆,旧类的修改会让新的类同步产生修改对于“克隆”出的新类来说,其复制了全部成员(除了private属性的),同时也复制了全部...

2020-01-28 12:31:25 154

原创 《java编程思想》读书笔记——第一章1.4方案的重复使用(组织/包含)

1.4方案的重复使用1.为何重复使用代码、设计方案的重复使用是面向对象提供的最伟大的杠杆,但是实际上,设计出一块优秀的可以重复使用的代码是非常困难的行为2.如何重复使用所谓困难的行为,实质上是设计出来的旧类想要直接拿来引用通常是行不通的,而比起直接重复使用,在旧类的基础上,写出一个新的类是一个更加由可行性、灵活的方式在新的类中,旧的类以成员的形式出现,即,作为一个成员对象存在,这种关系被...

2020-01-28 11:49:57 156

原创 《java编程思想》读书笔记——第一章1.3实现方案的隐藏(封装)

1.3实现方案的隐藏1.细节的隐藏前文也提过,程序员可以分为,设计底层的高复用性类库的设计师们,利用这些类库达成需要的需求的客户型程序员设计师所要做的是,从头设计一个类,并将其所有的具体实现隐藏起来,只暴露接口(也就是用该类申明的对象可以接受哪些消息)给客户型程序员2.为什么要这样做?因为对于客户程序员来说,他所需要的只是解决问题,而不需要知道细节,就像造车的工厂不需要知道装上去的引擎的...

2020-01-28 11:32:47 165

原创 《java编程思想》读书笔记——第一章1.1抽象的进步(抽象、面向对象、多态)

第一章对象入门引言我们为什么会需要学习OOP(面向对象)的编程,答案是显而易见的,对于管理人员,它带来了更加廉价的管理和开发过程,对于模型设计者,设计变得更加清晰简洁,对于开发者,对象模型更加简洁明了,且能获得大量的oop工具及类库的支持然而,对象的设计并不是简单的行为,在早期,我们只有两种选择、选择smalltalk这种语言,并学习其大量的类库后开始编程,或者学习c++,直到可以自行编写类...

2020-01-28 10:05:44 202

原创 《java编程思想》读书笔记【前言】

think in java读书笔记前言这本书的大名已经被传到听到烂的程度,但是真正去认真读后我才意识到这本书的魅力,比起向我们灌输知识,它更像是在讨论书上的知识为何是这样,这让整本书更加有趣并且让人的思想方式向上提升的同时让整本书的知识点不是那么分明,但我觉得这完全不是缺点,不如说,如果孤零零的把知识点分开只会降低这本书的魅力,但是作为学习者的身份有必要去分析清楚读完后获得了什么,因此我想开始...

2019-12-22 15:41:03 141

原创 【第二章】Java重学之路 - Java语言运行机制及其为什么被称为混合型语言

jdk作用以及jdk和eclipse的安装1.解释型语言和编译型语言特征的个人理解一般来说,语言分为解释型和编译型,按照我查阅的资料以及个人的理解来说,两者的根本性特点在于:编译型语言的特征与具体运行机制程序会自动进行编译,比如我们在vc中书写c语言时,每次按下保存都会生成一个机器码文件,实际上就已经进行了一次编译这个编译过程所做的,通常定义下是把已经书写好的语句翻译为计算机可以看懂的语...

2019-06-13 11:06:31 523

原创 【第一章】java重学之路 - java常识部分

1.1java常识一.核心优势1.跨平台(这是java独有的特征!)当时java的研发者们正在开发java这门语言时,目标本来只是想要一款能在各类微机芯片上使用的语言,也就是各类电器等,由于品牌众多且杂,所以期待能够有一个跨平台的中立性语言,即使平台千奇百怪,也能在各类平台上顺利运行随着java的发展主键成熟,互联网也同步逐渐发展扩大,此时,互联网的平台多样性迫使市场急需一款可以跨平台的中...

2019-06-12 07:32:53 208

原创 【第0章】Java重学之路

第零章:说给自己的话这是我的第一个博客,或许自己曾经一直在走一条奇怪的弯路,但是,人总有摔进屎坑的一天,或许这个坑大到很长时间都出不来,此时你不管做什么都可以接受,但是,绝对不能做的就是在屎坑里躺下,甚至开始觉得这里面挺舒服的所以,我无时无刻都希望自己可以做出一些改变,也一直没有停下学习,今天看到了一篇很不错的博客,看到他们为了参加招聘的认真准备发现自己实在是过于不成熟,我意思到此时的自己必须...

2019-06-08 23:57:15 194 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除