Java序列化相关
Java序列化相关序列化序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。
为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。
有序列化,就有反序列化,即把一个二进制内容(也就是byte[]数组)变回Java对象。有了反序列化,保存到文件中的byte[]数组又可以“变回”Java对象,或者从网络上读取byte[]并把它“变回”Java对象。
一个Java对象要能序列化,必须实现一个特殊的java.io.Serializable接口,它的定义如下:
12public interface Serializable {}
Serializable接口没有定义任何方法,它是一个空接口。我们把这样的空接口称为“标记接口”(Marker Interface),实现了标记接口的类仅仅是给自身贴了个“标记”,并没有增加任何方法。
Java中serialVersionUID的解释相当于java类的身份证。主要用于版本控制。seria ...
Java集合框架
Java集合框架
昨天的时候 刚好做了个小练习关于集合
那今天就顺便先把集合框架复习了 后面因为用到java集合的地方太多了,经常需要考虑到选择合适的容器
在之后的Java8新特性流操作也为集合提供了更方便的操作方式 等后面再进行整理
容器容器,用来容纳和管理数据
数组就是一种容器,可以放置对象或基本数据类型
优势简单的线性序列,可以快速访问数组元素,效率高. 如果从效率和类型检查的角度讲,数组是最好的
劣势不灵活.容量需要事先定义好,不能随着需求变化而扩容.
数组不能满足我们管理和组织数据的需求,所以需要一种更强大,容量随时可扩的容器来装载我们的对象.
这就是容器(Collection)也称之为集合
容器结构Collection接口集合类的基本接口
两个基本方法
12boolean add(E e);boolean remove(Object o);
Iterator接口包含四个方法
123456789101112public interface Iterator<E> { boolean hasNext(); E next(); de ...
Java基础小练习_分组
Java小练习-英语学习小组分组事情起因
要在于Marin
让我把每天英语分组的名单
在早晨发到群里
然后
程序员的事情让程序解决吧
一动手就发现自己忘了好多东西
一开始还是想到不重复的集合
什么HashSet然后再remove出来
想了好久写了好久
又想用当天日期做个随机数
百度了一下
还学到一个新方法
最终代码如下
肯定不是最优解
1234567891011121314public class RandomGroup { public static void main(String[] args) { String[] s1 = {"Marin", "Jade", "Rorschach", "Kinson", "Eric", "GlenZ", "GlenY", "Billy", "Mark", "Kyrie", ...
Spring(三)-注解IoC
IOC操作Bean管理(基于注解方式)
什么是注解?
(1)注解是代码特殊标记,格式: @注解名称(属性名称=属性值)
(2)使用注解,注解作用在类上面 方法上面 属性上面
(3)目的: 为了简化xml配置
Spring针对Bean管理中创建对象提供注解Bean管理(创建对象)
(1)@Component
(2)@Service 业务层
(3)@Controller 表现层
(4)@Repository 持久层
上面四个注解功能是一样的 都可以用来创建bean实例
基于注解创建对象
引入依赖
spring-aop-5.2.6.RELEASE.jar
开启组件扫描
使用注解
123456789101112131415161718192021222324//在注解里面value属性值可以省略不写,//默认值是类名称,首字母小写//UserService -- userService//@Component(value = "userService") //<bean id="userService" class=" ...
Spring(二)-IoC
Spring-IoCIOC底层原理
什么是IoC?
百度百科:
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。
控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
使用IoC的目的: 为了耦合度降低
解耦:降低程序间的依赖关系
实际开发中应该做到: 编译期不依赖 实际开发才依赖
IoC底层原理
xml解析, 工厂模式, 反射
这种方式 耦合度太高
工厂模式
这种方式,降低了service和dao的耦合
IoC过程
xml配置文件, 配置创建的对象
有service类和dao类, 创建工厂类(进一步降低耦合度)
IOC接口
IoC思想基于IoC容器完成, Ioc容器底层就是对象工 ...
Spring(一)-测试案例
Spring测试案例Spring
百度百科:
Spring框架是一个开放源代码的J2EE应用程序框架, 是针对bean的生命周期进行管理的轻量级容器(lightweight container). 提供了功能强大IOC,AOP及Web MVC等功能. Spring可以单独应用于构建应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC
J2EE的全称是Java 2 Platform Enterprise Edition,它是由SUN公司领导、各厂家共同制定并得到广泛认可的工业标准,或者说,它是在SUN公司领导下,多家公司参与共同制定的企业级分布式应用程 ...
Idea相关
Idea相关
把之前的项目从gitee下回来, 但是由于之前重装了系统 很多东西都不见了 就干脆每次恢复一点什么的时候就记下来
好记性不如烂笔头. 这篇文章的起因就是idea启动之后发现lombok插件都失效了
Lombok 插件 IDEA中引入Lombok支持如下:
点击File– Settings设置界面,安装Lombok插件:
在需要使用的模块中导入依赖
123456<!--lombok插件--><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version></dependency>
Jclasslib插件
安装
编译
查看
MySQL常见错误
MySQL常见错误2059
原因:
mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。
解决办法
将mysql用户登录的加密规则修改为mysql_native_password
用管理员权限打开 CMD
1mysql -u root -p #进入数据库
修改加密规则及密码,刷新即可;
123ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码' PASSWORD EXPIRE NEVER; #修改加密规则ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; #修改密码FLUSH PRIVILEGES; #刷新数据
The server time zone在数据库配置中添加默认时区:
找到mysql配置 ...
MySQL高级(三)--锁机制
MySQL锁机制什么是锁锁是计算机协调多个进程或线程并发访问某一资源的机制.
在数据库中,除了传统的计算资源(如CPU,RAM,I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性,有效性是所有数据库必须解决的问题.锁冲突也是影响数据库并发访问性能的一个重要因素.从这个角度来说,锁对数据库而言显得尤为重要,也更加复杂.
锁的分类从对数据操作的粒度分: 表锁,行锁
从对数据操作的类型(读/写)分:
读锁(共享锁):
针对同一份数据,多个读操作可以同时进行而不会互相影响
如果session1加了一个读锁 session1可以查 无法更新
则同时也无法读另一个表 只要加了锁
session2 无法更新session1 加锁的表 只有等session1 解了锁 session2 自动解除阻塞
写锁(排他锁):
当前写操作没有完成前,它会阻断其他写锁和读锁
session1 加了写锁 可读可改
同时session2 不可读不可写
表锁:特点:偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低
加锁:123 ...
10.22笔记
10.22笔记UPDDTA输入负数最后一位可以输正负号
OVRDBF和DLTOVROVRDBF和DLTDBF使用时 注意有一个范围参数要对应
OVRDBF:
DLTOVR
正常选用job
ACTGRPDFN 是激活组的意思 nick哥之后会补充讲
如何插入上百条数据 (练SQL用 实际用不到)1.准备一个pf文件
2.插入5条数据输入一条数据 先复制再回车
粘贴把1 依次改成2345
使用STRSQL 输入
得到10条数据
重复使用相似语句 即可得到20 40 80 160…条数据
如何在PF文件中插入小写字母使用shift+F1
可以更改默认
WRKQRY保存QRYDFN文件(LF作业4)使用WRKQRY
连敲两次回车
F3保存
回车在库下生成文件
可以直接使用 RUNQRY CSQRY来执行QRY文件 F4可以修改record selection为*yes 可自由调整查询参数
PRTF 相关(ppt)
优质的代码应只使用SPACEA和SKIPB(SPACEB SKIPA)
打印行为原则: 只能从左到右 从上到下
例如: 如果指针现在 ...