JavaSE学习体会
JavaSE学习体会总结整体感受总结我是最棒的基础不牢地动山摇整体感受​ 通过一个月沉下心来重新学习JavaSE部分真的是收获颇多。想我之前自学的路上走了不少弯路也有许多东西未曾了解不过这一个月给我带来的提升真的很大。​ 人成长是一个过程Java学习也是一个过程。首先对我产生最大影响的就是一个观念不仅知道一个东西怎么用也需了解这个东西是怎么做出来的。从最简单的定义变量例如基本数据类型和引用数据类型了解到堆栈中他们是怎么出来的。​ 举个栗子publicstaticvoidmain(String[]args){inta1;String strHello World;}​ 上面的main方法在栈中有一个栈桢int a 1相当于在main方法这个栈桢里面开辟了一块空间里面有一个a变量存放了 1 这个值。而String是引用类型它会在堆中开辟空间存储“Hello World”并且有一个地址然后将这个地址存放在栈中的str里面。以前都是片面的认为定义变量都是一回事现在画一个堆栈图很容易就能理解。后面的许多知识点都可以用堆栈图来分析。示例图如下然后我的代码的风格也变得越来越好格式注释还有空行等。以前自己写的代码可能是一团乱麻现在看起来条理清楚自己看着也很有成就感。命名使用大小驼峰来完成不会使用拼音或者中西结合。遇到不会的词就去查查再用英文来命名舒服多了。可能现在的我看到我以前写的xuesheng类也会有打死自己的冲动吧2333。但是呢我现在写注释的习惯不是很好感觉一个东西很简单就不愿意去写注释这一点出大问题需要静下心来多写写注释不然以后人家提刀来见我就不好了。下面是我自己写的一个模拟断点续传代码勿喷注释确实写的少packagecn.itsource.randomaccess;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.RandomAccessFile;/** * 模拟实现文件的断点续传 */publicclassResume{//记录指针位置privatestaticlongposition-1;publicstaticvoidmain(String[]args){//定义源文件与目标文件File srcFilenewFile(test.txt);File destFilenewFile(F:/test.txt);//使用随机文件访问类来完成RandomAccessFile srcRafnull;RandomAccessFile destRafnull;try{srcRafnewRandomAccessFile(srcFile,rw);destRafnewRandomAccessFile(destFile,rw);//定义字节数组一个字节一个字节的读取byte[]bsnewbyte[1];//读取操作while(srcRaf.read(bs)!-1){//写出操作destRaf.write(bs);//模拟网络中断if(destFile.length()3){//记录断开时的指针位置positionsrcRaf.getFilePointer();System.out.println(网络连接中断);thrownewFileAccessException();}}}catch(FileNotFoundExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}catch(FileAccessExceptione){//续传操作resume(srcRaf,destRaf,position);}finally{//关流操作try{if(destRaf!null){destRaf.close();}}catch(IOExceptione){e.printStackTrace();}finally{if(srcRaf!null){try{srcRaf.close();}catch(IOExceptione){e.printStackTrace();}}}}}/** * 续传方法 * param src * param dest * param position */publicstaticvoidresume(RandomAccessFile src,RandomAccessFile dest,longposition){//模拟网络中断10stry{Thread.sleep(10000);}catch(InterruptedExceptione1){e1.printStackTrace();}try{byte[]bsnewbyte[1];//将指针位置设置为上次断开时的位置src.seek(position);dest.seek(position);//继续完成读写操作while((src.read(bs))!-1){dest.write(bs);}System.out.println(续传成功);}catch(IOExceptione){e.printStackTrace();}}}/** * 自定义异常类 */classFileAccessExceptionextendsException{}​ 最重要的是学到了很多新的知识点比如JDK8新特性里面的Lambda表达式简化了匿名内部类很多步骤同时也认识了函数式接口。还有就是以前一些很模糊的概念也变得很清晰了比如设计类的时候需要注意的很多地方封装、无参构造、public修饰符、get和set方法等等。还有代码块的执行顺序继承和多态等。以前我都是一知半解现在应该掌握了大半剩下的就是用心敲代码至熟练咯。IO流里面的各种流以前自学的时候没分清楚字节流和字符流不知道到底有什么区别现在问题不大。后面学习的流式处理从头到尾就像管道一样对源数据操作但是不会改变源数据的类型。Lambda表达式的一个栗子接口packagecn.itsource.lambda;FunctionalInterfacepublicinterfaceIMyInterface{voidtest();}测试类packagecn.itsource.lambda;publicclassLambdaTest{publicstaticvoidmain(String[]args){//匿名内部类方式IMyInterface iMyInterfacenewIMyInterface(){Overridepublicvoidtest(){System.out.println(wdnmd);}};iMyInterface.test();//Lambda表达式IMyInterface iMyInterface2()-System.out.println(wdnmd);iMyInterface2.test();}}是不是感觉很舒服这代码量​ 最后一天学习了反射这个知识点我以前只是有所耳闻现在有一点理解了通过全限定类名来获取该类的字节码文件然后通过字节码文件获得该类里面的成员字段构造方法普通方法等。后面会学习的框架很多是基于反射的后续会继续加强。反射的示例代码packagecn.itsource.reflectdemo;importjava.lang.reflect.Constructor;importjava.lang.reflect.Field;importjava.lang.reflect.Method;publicclassReflectTest{publicstaticvoidmain(String[]args)throwsException{/* * 利用反射获取该类的构造方法并且使用newInstance创建对象 */Class?forNameClass.forName(cn.itsource.reflectdemo.A);Constructor?constructorforName.getConstructor(int.class,int.class);System.out.println(constructor);// Constructor?[] constructors forName.getConstructors();// for (Constructor? constructor : constructors) {// System.out.println(constructor);// }// Constructor?[] declaredConstructors forName.getDeclaredConstructors();// for (Constructor? constructor : declaredConstructors) {// System.out.println(constructor);// }Object newInstanceconstructor.newInstance(1,2);System.out.println(newInstance);/* * 使用反射调用普通方法 */Method[]declaredMethodsforName.getDeclaredMethods();for(Method method:declaredMethods){System.out.println(method);}Method methodforName.getMethod(test);method.invoke(newInstance);Method method2forName.getMethod(test3,int.class);method2.invoke(newInstance,3);/* * 使用反射调用字段 */Field[]fieldsforName.getFields();for(Field field:fields){System.out.println(field);}Field[]declaredFieldsforName.getDeclaredFields();for(Field field:declaredFields){System.out.println(field);}// Field field forName.getDeclaredField(a);Field fieldforName.getField(c);field.setAccessible(true);field.set(null,3);System.out.println(field.get(null));/* * 获取限定名和简写名 */String nameforName.getName();System.out.println(name);String simpleNameforName.getSimpleName();System.out.println(simpleName);}}/** * 自定义类 */classA{privateinta;intb;publicstaticintc;privateA(){}publicA(inta,intb){this.aa;this.bb;}publicvoidtest(){System.out.println(test);}publicvoidtest3(inta){System.out.println(a);}privatevoidtest2(){System.out.println(test2);}}​这个月的学习获益匪浅不过需戒骄戒躁继续保持下去。感谢每个真心待我的人谢谢你们也感谢自己有勇气做出选择铁石心肠也有水滴石穿的一天继续加油

相关新闻

嵌入式按键消抖

嵌入式按键消抖

嵌入式中,经常使用按键作为人机交互的接口,典型的按键电路如下所示: 在实际使用过程中,由于误触及按键的机械特性,按键按下或松开时的输出的波形上会存在抖动,一般可以通过增加滤波电容C1进行处理。但是在实…

2026/7/28 20:08:03 阅读更多 →
基于CH554单片机的USB Host转蓝牙键盘转换器设计与实现

基于CH554单片机的USB Host转蓝牙键盘转换器设计与实现

1. 项目概述:为什么用CH554做USB Host转蓝牙键盘? 最近在折腾一个挺有意思的小项目:用一块国产的8位单片机CH554,把它变成一个USB Host,然后读取普通USB键盘的按键数据,再通过蓝牙模块发送出去,…

2026/7/28 20:08:03 阅读更多 →
AI时代下Processing在创意编程中的不可替代性

AI时代下Processing在创意编程中的不可替代性

1. 当AI Coding遇上Processing:创意编程的变与不变最近在创意编程圈里有个热议话题:随着AI代码生成工具的爆发式发展,像Processing这样的传统创意编程工具还有学习的必要吗?作为一个从2012年就开始用Processing做交互装置的老程序…

2026/7/28 20:08:03 阅读更多 →

最新新闻

DSView终极指南:开源信号分析软件的完整使用教程

DSView终极指南:开源信号分析软件的完整使用教程

DSView终极指南:开源信号分析软件的完整使用教程 【免费下载链接】DSView An open source multi-function instrument for everyone 项目地址: https://gitcode.com/gh_mirrors/ds/DSView DSView是一款功能强大的开源多平台信号分析工具,专为电子…

2026/7/28 20:20:08 阅读更多 →
广西培训+就业一站式服务,人力中介公司哪家靠谱点

广西培训+就业一站式服务,人力中介公司哪家靠谱点

在广西,想进国央企,信息差是最大的“拦路虎”。90%的求职者都不知道,国央企的正式招聘信息,其实很多是“隐形”的,并不是所有岗位都挂在公开的招聘网站上。你只能看到那10%的“公开岗位”,而剩下的90%优质岗…

2026/7/28 20:20:08 阅读更多 →
找稳定的工作好用的人力中介哪家值得选

找稳定的工作好用的人力中介哪家值得选

你有没有发现一个扎心的现象:同样是想进国央企,有人投了上百份简历石沉大海,有人却只靠一个内推电话就拿到了面试机会。更气人的是,那个拿到机会的人,学历、资历可能还没你强。 真相很残酷:国央企的招聘信息…

2026/7/28 20:20:08 阅读更多 →
鼓励独自解决小矛盾,提升与人相处的沟通能力

鼓励独自解决小矛盾,提升与人相处的沟通能力

在孩子的日常交往中,与伙伴产生摩擦是再平常不过的事情。许多家长看到孩子受委屈或与人争执,第一反应往往是立刻出面调停,希望尽快平息风波。然而,每一次小冲突其实都是宝贵的成长契机。如果我们总是冲在前面解决问题,…

2026/7/28 20:20:08 阅读更多 →
如何突破百度网盘Mac版的下载速度限制?一个逆向工程实践指南

如何突破百度网盘Mac版的下载速度限制?一个逆向工程实践指南

如何突破百度网盘Mac版的下载速度限制?一个逆向工程实践指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 如果你正在使用Mac版的百度网盘…

2026/7/28 20:20:08 阅读更多 →
TI TPIC7710 EVM评估模块深度解析:从硬件拆解到软件实操的电机驱动验证指南

TI TPIC7710 EVM评估模块深度解析:从硬件拆解到软件实操的电机驱动验证指南

1. 项目概述与EVM核心价值解析 在汽车电子或工业电机驱动项目的早期研发阶段,工程师们最头疼的往往不是算法设计,而是如何快速、可靠地验证一颗核心芯片的实际性能。数据手册上的参数再漂亮,也不如亲手搭个电路,亲眼看到电机转起来…

2026/7/28 20:19:08 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻