Java学习日志之SpringMVC、SVN、IO流和反射机制

SpringMVC

Spring MVC为我们提供了一个基于组件和松耦合的MVC实现框架。在使用Java中其它MVC框架多年之后,面对Spring MVC有一种相见恨晚的感觉。Spring MVC是如此的优雅,轻盈与简洁, 让人从其它框架的桎梏解脱出来。

宏观
中观
微观

SVN

SVN是版本控制工具,对应的比较热门的版本控制工具还有git.
首先就是要对SVN的客户端服务端进行配置
然后就主要是对多人代码的管理了,更删改查
包括恢复等等,还有一些常见的问题等等
1、每天早上上班要update SVN,每天下班要commit SVN。
2、查看是谁动了我的代码,右键 tortoise 后查看 log 日志。
3、文件被别人删除,在空白处右击,show log,可以查看整个库的所有增删改查操作记录,如果单个文件还在,只想查看该文件记录,那就在该文件上查看 log(自从新建一个文件后,对该文件的所有操作都会被服务器仓库记录下来,随时可以可别人商量恢复)。
4、权限清空:TortoiseSVN——Settings——Seved Date——Clear clear all。
5、commit 上面有一块区域是做注释的(推荐常用)。
6、良好冲突:
如果A和B都在修改了代码,B先于A上交,当A去commit的时候,就会提交失败,必须先更新你的本地文件,那么B的代码会和A的代码同时存在(两个人修改的不是一个地方算好的情况了)。
7、较差冲突:
有冲突时提交会产生三个文件,.mine是自己改好之后的代码,rx,ry,x,y两个数字较小者是我改之前的代码,数字较大者,是服务端的代码
1)如果要保留自己的版本,就用mine覆盖原来的代码,再次提交
2)如果认为对方是正确的,就revert一下,这个时候已经拿到了最新的代码(不一定非要这样操作,但是这样方便)
3)如果认为上一个版本是正确的,用版本较小的覆盖(直接删除改后缀名)
经验1:如果Commit Failed!就不要点了ok继续按update了,先把自己的代码复制到一边,再把那个文件revert,再update,再把放在一边的文件重命名复制到相同文件夹下,选中两个冲突的文件,TortoiesSVN->diff,左边是最新的代码,右边的是我的,解决冲突之后两个人最好都update一下。
经验2:与历史记录比对:show log之后,同时选中两个版本(比如现在到了第10版,那么要10/9先比较,看看有没有差异,没有差异,则比较9/8版,如果仍没有差异,以此类推继续比较),Compare revisions。


IO流

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

JavaIO流类图

看图呢,就可以发现IO流分为字节流和字符流,也可分为输入流和输出流
那么字节流和字符流有啥区别呢,字节流是基于字节(byte),可以用于所有文件类型的传输(.mp3,.mp4)、字符流基于字符(char),对于纯文本文件的传输效率高于字节流,但不能用于其他类型的文件。

File类的使用

  • java.io.File类用于表示文件(目录)
  • File类只用于表示文件(目录)的信息(属性)(名称,大小等),不能用于文件内容的访问
  • RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写
  • RandomAccessFile支持随机访问文件,可以访问文件的任意位置

字节流

1.InputStream OutputStream
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2.EOF=End 读到-1就读到结尾
3.输入流基本方法
int b=in.read(); 读取一个字节无符号填充到int低八位。 -1是EOF
4.输出流基本方法
out.write(int b) 写出一个byte到流,b的低八位
5.FileInputStream----->具体实现了在文件上读取数据
6.FileOutputStream----->实现了向文件中写出byte数据的方法
7.DateOutputStream/DateInputStream
对“流”功能的扩展,可以更加方便的读取int,long,字符等基本数据类型
DateOutputStream
writeInt()/writeDouble()/writeUTF()
8.BufferedInputStream BufferedOutputStream 字节缓冲流
两个流类为IO提供了带缓冲区的操作,一般打开文件进行读写操作时,都会加上缓冲
这种流模式提高了IO的【性能】
从应用程序中把输入放入文件,相当于将一缸水倒入到另一个缸中:
FileOutputStream---->write()方法相当于一滴一滴地把水转移过去
DateOutputStream---->write()方法会方便一些,相当于一票一票把水转移过去
BufferedOutputStream---->write()方法更方便,相当于一票一票先放入桶中(缓冲区),再从桶中倒去过去

字符流


反射

反射呢,是在运行状态中,对于任意一个,都能够知道这个类的所有属性方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

反射的操作都是编译之后的操作,Java中集合的泛型,是防止错误输入的,只在编译阶段有效。因此可以通过反射绕过编译,就可以绕过泛型。

可以做些什么呢

  • 在运行时判断任意一个对象所属的类(Class类
  • 在运行时构造任意一个类的对象
  • 在运行时判断任意一个类所具有的构造函数成员变量方法Constructor类Filed类Method类
  • 在运行时调用任意一个对象的方法(方法反射:method.invoke(对象,参数列表))
  • 生成动态代理

获得Class对象的三种方式

    class1 = Class.forName("net.xsoftlab.baike.TestReflect");

    class2 = new TestReflect().getClass();

    class3 = TestReflect.class;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,579评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,558评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,166评论 11 349
  • 亲爱的,你要明白,人生而孤独,你不能要求,不能奢望,永远会有人陪着你。你要明白,长长的一生中,独处的时光远远多过于...
    顾碧辞阅读 206评论 0 0
  • 淘宝毋庸置疑是国内最大的网购购物平台了,今年双十一仅仅一天的成交额更是达到了一千多亿,双十一如此厉害的秘诀到底是什...
    lh事在人为阅读 700评论 0 0