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)
打印行为原则: 只能从左到右 从上到下
例如: 如果指针现在 ...
10.21笔记
PF LF补充知识点
Nick哥说 下面这三种pdm的指令 加上strpdm 优先使用 wrkmbrpdm
在自己账号作业的时候 可以最快打开上次工作的lib
WRKLIBPDM
WRKMBRPDM
WRKLIBPDM
PF文件中 下列位置输入F 可以快速显示 格式行
Nick哥说 在PF或者LF在引用文件的时候 尽量不要出现指定库名 因为工作的时候环境很多 不应写死在文件中
DSPFD: 查询主键和member record format**详细信息
DSPFFD: 查询PF文件字段详细信息
CRTPF 参数相关
这行如果选*none 生成空file 选*file则在file里生成同名member
Nick哥说这两行 优先填 *nomax 即不设上限
代码规范
Nick哥说 PF文件字段间用一行注释隔开代码会比较清晰
CHGPF
这个指令可以实现 更改原有的数据结构源码 而保留数据
RRN
pf文件有类似sql里的自增主键字段 但是默认是不显示的 如果在没有unique的时候插入两条相同的数据 使用的时候就要根据这个RRN字段来选取想 ...
AS/400事务和日志
事务COMMIT 提交当前事务.所有事务的更改都将为其他事务可见,而且保证当崩溃发生时的可持续性。在程序中经常使用 COMMMIT 来控制事物处理的完整性,保证在发生异常的情况下数据的完整性和正确性。访问数据库文件时使用 COMMIT/ROLBK,可以确保对数据库文件操作的一致性:全部数据库文件操作都是成功的 COMMIT 提交;全部数据库文件操作都是无效的 ROLBK 回滚. 用这种方法,从而保证了数据库文件的完整性;另外,可以把一组操作当作一个单元来处理。举个实际的例子,如果程序中,以修改的方式声明了四个文件 A、B、C、D,其中 A、B、C 都使用了 COMMIT 关键字,而 D 未使用 COMMIT 关键字;在程序执行过程中,首先更改了 A、B、D 的值在接下的处理中,如果业务流程判断,逻辑有误,不再执行,此时可以进行回滚操作,此时 A、B 的数据恢复成为修改之前的数值;D 的数据,因为在声明文件时未使用 COMMIT 关键字,所以回滚操作对它无效,即 D 的数据仍然保持修改之后的值;而如果业务流程判断正常,程序顺利执行完毕,此时需要进行一次确认操作(COMMIT),来落实数据 ...