自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java IO

允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。如果类没有显示定义这个静态变量,它的值是Java运行时环境根据类的内部细节自动生成的。如果某个类的字段不是基本数据类型或 String 类型,而是另一个引用类型,那么这个引用类型必须是可序列化的,否则拥有该类型的 Field 的类也不能序列化。缓冲流要"套接"在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。

2023-06-12 09:33:59 156

原创 Oracle 数据库常用操作语句大全

select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列名>[asc或desc]]delete方式可以恢复删除的数据,但是提交了,就没办法了 delete删除的时候,会记录日志 -->删除会很慢很慢。导出时可以进行压缩;update 表 set 列=新的值 [where 条件] -->更新满足条件的记录。删除所有数据,包括表结构一并删除,不会记录日志,数据不能恢复-->删除很快。删除所有数据,不会影响表结构,不会记录日志,数据不能恢复 -->删除很快。

2023-06-12 09:32:30 635

原创 oracle数据库导入导出命令

oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。数据库时可以连上的。导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。基本上上面的导入导出够用了。

2023-06-12 09:31:48 1934

原创 Java四种引用类型

虚引用是最弱的一种引用关系,如果一个对象仅持有虚引用,那么它就和没有任何引用一样,它随时可能会被回收,在 JDK1.2 之后,用 PhantomReference 类来表示,通过查看这个类的源码,发现它只有一个构造函数和一个 get() 方法,而且它的 get() 方法仅仅是返回一个null,也就是说将永远无法通过虚引用来获取对象,虚引用必须要和 ReferenceQueue 引用队列一起使用。如果想中断强引用与对象之间的联系,可以显示的将强引用赋值为null,这样一来,JVM就可以适时的回收对象了。

2023-06-09 15:18:10 116 1

原创 ORACLE数据库查看执行计划

consistent gets          从buffer cache中读取的undo数据的block的数量数据请求总数在回滚段Buffer中的数据一致性读所需要的数据块,,这里的概念是在你处理你这个操作的时侯需要在一致性读状态上处理多个块,这些块产生的主要原因是因为你在查询过程中,由于其它会话对数据 块进行操作,而对所要查询的块有了修改,但是由于我们的查询是在这些修改之前调用的,所要需要对回滚 段中的数据块的前映像进行查询,以保证数据的一致性。Id: 执行序列,但不是执行的先后顺序。

2023-06-05 09:51:41 7874 1

原创 Oracle 数据库日常巡检

在本节主要检查Oracle数据库性能情况,包含:检查数据库的等待事件,检查死锁及处理,检查cpu、I/O、内存性能,查看是否有僵死进程,检查行链接/迁移,定期做统计分析,检查缓冲区命中率,检查共享池命中率,检查排序区,检查日志缓冲区,总共十个部分。热备份脚本是通过Oracle用户的cron去执行的。在数据库系统上往往存在很多的用户,如:第三方数据库监控系统,初始安装数据库时的演示用户,管理员用户等等,这些用户的密码往往是写定的,被很多人知道,会被别有用心的人利用来攻击系统甚至进行修改数据。

2023-06-05 09:50:56 3288

原创 Java继承

可以基于已经存在的类构造一个新类。继承已经存在的类就可以复用这些类的方法和域。在此基础上,可以添加新的方法和域,从而扩充了类的功能。在新类里创建原有的对象称为合成。这种方式可以重复利用现有的代码而不更改它的形式。

2023-06-01 15:00:23 83 1

原创 Java的内存回收机制

在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。

2023-05-30 14:39:12 624

原创 Java学习路线

所以如果你正在担心你的Java基础够不够,层次到没到应该有的深度,那你应该先庆幸下,至少你还想着如何提高自己的水平。在之前提到过如坦克大战这样的项目,这些确实能很好的涵盖了大部分Java SE的内容,所以必要的项目是很关键的。至于学什么框架,用什么应用服务器,在学习的时候可以采用容易配置的,所有的同类服务都是类似的,精通了一个,相似的学习就很快了。当然并不局限于做网站。对于图1-1,Java SE是我们Java入门的开端,这块内容也就是大家所熟悉的坦克大战、聊天软件、五子棋这些桌面级项目所组成的。

2023-05-30 14:38:37 44

原创 java如何防止反编译

于是,我们就可以这样想:JNI可以调用第三方语言的类库,那么,我们可不可以把解密与装载使用第三方语言写(如C++,因为它们生成的库是不好反编译的),这样它可以把解密出来的class内容直接调jvm.dll的加载接口进行初始化成class,再返回给我们的ClassLoader?嗯,这个方法真的很不错的!由其实现方式上可知,其实现原理只是扰乱正常的代码可读性,并不是真正的加密,如果一个人的耐心很好,依然可以理出整个程序在做什么,更何况,一个应用中,其核心代码才是人们想去了解的,所以大大缩小了代码阅读的范围。

2023-05-27 18:04:44 1031

原创 Java中反射机制详解

解释:需要明白servlet的生命周期,也就是service方法,因为是servlet,所以在访问的时候,会经过service方法,而子类MyServlet001中并没有,所以就到父类BaseServlet中找,发现有,然后获取参数即知道了需要调用什么方法,因为方法的编写都在子类中,所以通过反射,获取到子类中对应的方法并运行,其中需要注意的是this这个参数在BaseServlet中的用法。注意newProxyInstance的三个参数,第一个,类加载器,第二个被代理对象的接口,第三个代理对象。

2023-05-27 18:02:53 1308

原创 Java垃圾回收机制

目前大部分垃圾收集器对于新生代都采取Copying算法,因为新生代中每次垃圾回收都要回收大部分对象,也就是说需要复制的操作次数较少,但是实际中并不是按照1:1的比例来划分新生代的空间的,一般来说是将新生代划分为一块较大的Eden空间和两块较小的Survivor空间,每次使用Eden空间和其中的一块Survivor空间,当进行回收时,将Eden和Survivor中还存活的对象复制到另一块Survivor空间中,然后清理掉Eden和刚才使用过的Survivor空间。—即通过什么方法判断一个对象可以被回收了。

2023-05-22 15:38:30 47

原创 java 实现图片压缩

sourceRegion(Positions.CENTER, 800, 600) //位置,宽,高。.outputQuality(0.5f) //图片质量压缩比例 从0-1,越接近1质量越好。.outputQuality(0.5f) //图片质量压缩比例 从0-1,越接近1质量越好。.scale(1f) //图片大小(长宽)压缩比例 从0-1,1表示原图。//创建拼接后的图片画布,参数分别为宽,高,类型,这里我们使用RGB3元色类型。.size(500, 300) // 图片比例不变。

2023-05-22 15:37:00 662

原创 Java学习——Java反射机制

返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。JAVA 的Class<T>类提供了几个方法获取类的属性。返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。

2023-05-22 15:35:38 96

原创 java枚举常见用法

现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);// get set 方法。

2023-05-17 08:29:32 212 1

原创 Java三大特性

Java 三大特性,算是Java独特的表现,提到Java 的三大特性, 我们都会想到封装, 继承和多态 这是我们Java 最重要的特性。

2023-05-17 08:28:50 140

原创 Java的内存机制

引用变量是普通的变量,定义时在栈中分配,引用变量在程序运行到其作用域之外后被释放。而数组和对象本身在堆中分配,即使程序运行到使用 new 产生数组或者对象的语句所在的代码块之外,数组和对象本身占据的内存不会被释放,数组和对象在没有引用变量指向它的时候,才变为垃圾,不能在被使用,但仍然占据内存空间不放,在随后的一个不确定的时间被垃圾回收器收走(释放掉)。这也是 Java 比较占内存的原因,实际上,栈中的变量指向堆内存中的变量,这就是 Java 中的指针!

2023-05-15 08:58:35 1243

原创 java数值转换

当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构。原因:简洁、执行效率高。//不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算。1.算术运算符: + - + - * / % (前)++ (后)++ (前)-- (后)-- +3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量。如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。

2023-05-09 15:07:10 172

原创 java基础语法

定义了三个方法:getActiveAccount()、getActiveAccounts()、getActiveAccountInfo(),如何区分?避免冗余,不要出现Variable、表字段中避免出现table、字符串避免出现nameString,直接name就行,知道是字符串类型。genymdhms(生成日期,年、月、日、时、分、秒)结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。说明:此时的容量大小指的是,表示数的范围的大和小。在作用域内,它是有效的。

2023-05-09 15:06:26 53

原创 Java Web 项目基础

Session在存储安全性要求较高的会话信息方面是必不可少的,Session当然绝对不是用来存储用户登录状态的,但类似验证码等敏感信息却必须存储在Session中。对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的。

2023-05-06 11:00:00 269

原创 Java 常用List集合使用场景分析

看到这里,如果面试官问你ArrayList和LinkedList有什么区别时如果你回答:ArrayList查询快,写数据慢;LinkedList查询慢,写数据快。面试官只能算你勉强合格。如果你回答:ArrayList查询快是因为底层是由数组实现,通过下标定位数据快。写数据慢是因为复制数组耗时。LinkedList底层是双向链表,查询数据依次遍历慢。写数据只需修改指针引用。

2023-05-06 08:30:23 254

原创 Java继承

java继承

2023-05-05 14:52:20 27

原创 java事务配置

7. NESTED:指定当前方法执行时,如果已经有一个事务存在,则运行在这个嵌套的事务中.如果当前环境没有运行的事务,就新建一个事务,并与父事务相互独立,这个事务拥有多个可以回滚的保证点。4. REQUIRES_NEW:指定当前方法总是会为自己发起一个新的事务,如果发现当前方法已运行在一个事务中,则原有事务被挂起,我自己创建一个属于自己的事务,直我自己这个方法commit结束,原先的事务才会恢复执行。2. SUPPORTS:指定当前方法加入当前事务环境,如果当前没有事务,就以非事务方式执行。

2023-04-28 08:43:37 550

原创 MyBatis

MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。- 中文文档:https://mybatis.org/mybatis-3/zh/index.html。(四)、编写MyBatis工具类(无Spring时方便使用MyBatis)--MySQL驱动 JDBC Type 4-->(二)、添加MyBatis、MySQL驱动、Junit4的依赖。--MyBatis依赖-->

2023-04-26 20:45:00 60

原创 java异常

2. basePackageClasses:是 basePackages 的一种变形,指定一个或多个 Controller 类,这些类所属的包及其子包下的所有 Controller 都被该 @ControllerAdvice 管理。作用: 用于对拦截到的请求进行预处理,方法接收布尔(true,false)类型的返回值,返回true:放行,false:不放行。拦截器链的概念 如果多个拦截器能够对相同的请求进行拦截,则多个拦截器会形成一个拦截器链,主要理解拦截器链中各个拦截器的执行顺序。

2023-04-26 16:24:59 87

原创 SpringMVC 转发和重定向

②使用RedirectAttributes对象对象时 Model中的数据不会拼接到url,而ModelAndView中的数据会。1、添加到Model或ModelAndView中的数据会以参数的形式拼接在url后,可以用来传递数据。--文件上传总大小的最大值,单位字节 100M=100*1024*1024 -->-- 单个上传的文件大小,单位字节 10M=10*1024*1024-->--文件上传配置 注意id必须是 multipartResolver -->(二)、重定向 redirect。

2023-04-26 16:24:10 197

原创 spingMVC

会筛选该控制器下的所有添加到Model中的数据,将符合筛选条件的数据自动添加到Session中。对于传输的JSON中的日期格式,由Jackson的@JsonFormat 或FastJson的dateFormat处理,其他JSON消息转换器也有对应的配置。②使用RedirectAttributes对象对象时 Model中的数据不会拼接到url,而ModelAndView中的数据会。2、用在Action方法的参数上,将注解的参数添加到Model中,Key值有两种情况。

2023-04-26 16:23:39 115

原创 javaMVC(二)

对于传输的JSON字符串中的日期格式,由Jackson的@JsonFormat 或FastJson的dateFormat处理,其他JSON消息转换器也有对应的配置。HTTP PATCH /user/1 :修改id=1的user信息,需要把修改的user信息放在请求的body中提交。HTTP PUT /user/1 :修改id=1的user信息,需要把修改的user信息放在请求的body中提交。HTTP POST /user :新增一个user,需要把提交的user信息放在请求的body中提交。

2023-04-26 16:23:02 39

原创 javaMVC

-Jackson jackson-databind已经包含 jackson-core和jackson-annotation的依赖 -->支持使用 @NumberFormat annotation、@DateTimeFormat;支持使用 @Valid 注解对 JavaBean 实例进行 JSR 303 验证;-- 配置SpringMVC提供的字符编码过滤器 设置字符编码 解决中文乱码问题 -->原因:没有和指定的produces(ContentType)匹配的消息转换器。第三方FastJson。

2023-04-26 16:22:30 96

原创 每个Java程序员都必须知道的四种负载均衡算法

一般来说,我们在设计系统的时候,为了系统的高扩展性,会尽可能的创建无状态的系统,这样我们就可以采用集群的方式部署,最终很方便的根据需要动态增减服务器数量。但是,要使系统具有更好的可扩展性,除了无状态设计之外,还要考虑采用什么负载均衡算法,本文就带领大家认识以下常见的4种负载均衡算法。欢迎关注个人公众号『JAVA旭阳』交流沟通负载均衡是指多台服务器以对称的方式组成一个服务器集群。每台服务器的地位相当(但不同的服务器可能性能不同),可以独立提供服务,无需其他服务器的辅助。

2023-04-26 15:10:26 159

转载 java多线程

3.3一个进程中的多个线程共享相同的内存单元/内存地址空间它们从同一堆中分配对象,可以 访问相同的变量和对象。就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已 具备了运行的条件,只是没分配到CPU资源。3.2线程作为调度和执行单位,每个线程拥有独立的运行栈和程序计数器(PC),线程切换的开销小。单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程 的任务。(现在的服务器都是多核的)3、 线程,进程可以进一步分为线程,是一个程序内部的一条执行路径。

2023-04-26 15:03:58 38

原创 mysql

betweeen a1 and a2 范围匹配[a1,a2],如果a1<=value<=a2,返回true(1)update exam_result set math=90,chinese=93 where name='曹孟德';insert into student values(2,102,'李四','123456');insert into studene values(1,101,'张三',NULL);<=> 等于,NULL安全,NULL<=>NULL 结果是true(1);

2023-04-26 15:01:29 67 1

原创 java介绍

除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。对指针的丢弃是 Java 的明智选择。

2023-04-26 14:53:40 184 1

原创 IDEA快捷键

在使用IDEA的时候,使用快捷键是必不可少的。掌握一些常用的快捷键能大大提高我们的开发效率。对于这些快捷键,如果能够用好,编辑代码的效率必能提高一个水平。所以我在此整理出来,方便大家的查询和使用,好形成习惯。

2023-04-21 15:52:15 159

空空如也

空空如也

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

TA关注的人

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