202010-08 Java使用FileInputStream流读取文件示例详解 一、File流概念 JAVA中针对文件的读写操作设置了一系列的流,其中主要有FileInputStream,FileOutputStream,FileReader,FileWriter四种最为常用的流二、FileInputStream1)FileInputStream概念 FileInputStream流被称为文件字节输入流,意思指对文件数据以字节的形式进行读取操作如读取图片视频等2)构... 继续阅读 >
202010-08 Java中mybatis关于example类的使用详解 这几天刚接触example,很多内容都是破碎的,写一篇博文加深理解。一、什么是example类 mybatis-generator会为每个字段产生如上的Criterion,如果表的字段比较多,产生的Example类会十分庞大。理论上通过example类可以构造你想到的任何筛选条件。在mybatis-generator中加以配置,配置数据表的生成操作就可以自动生成example了。具体配置可以参考MBG有关配置。 下面是mybatis自动生成example的... 继续阅读 >
202010-08 为什么说python更适合树莓派编程 树莓派是一个非常廉价的、只有手掌大小的完全可编程的计算机。虽然树莓派的体积小,但是它的潜力无限。你可以像使用常规台式计算机一样在树莓派上创建一个非常酷的工程。例如,你可以用树莓派搭建你自己的家用云存储服务器。树莓派用python来进行编程。树莓派项目的一个核心思想是Python编程语言的使用。Python允许树莓派的拥有者将项目扩展到令人难以置信的规模。Python是一个解释型的面向对象的、跨平台的编程语言。良好的可靠性... 继续阅读 >
202010-08 Java常用开源库汇总 Java的经久不衰,很大程度上得益于Java的生态好。在日常开发中,我们也会经常使用到各种开源库和工具类,为了避免重复造轮子,本文将贴出工作及学习中会用到的部分开源库和工具类。Java的生态实在太大,这里只能列举一部分。如果你对此感兴趣,不妨去读读他们的源码。HTML解析器jsoup1.1介绍jsoup(GitHub地址、中文文档)是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CS... 继续阅读 >
202010-08 java中Statement 与 PreparedStatement接口之间的关系和区别 Statement和PreparedStatement之间的关系和区别. 关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高 详解:1、PreparedStatement:表示预编译的SQL语句的对象。 接口:publicinterfacePreparedStatementextendsStatement之间的继承关系 SQL语句被预编... 继续阅读 >
202010-08 java中Statement 与 PreparedStatement接口之间的关系和区别 Statement和PreparedStatement之间的关系和区别. 关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高 详解:1、PreparedStatement:表示预编译的SQL语句的对象。 接口:publicinterfacePreparedStatementextendsStatement之间的继承关系 SQL语句被预编... 继续阅读 >
202010-08 java中list的用法和实例讲解 目录:list中添加,获取,删除元素;list中是否包含某个元素;list中根据索引将元素数值改变(替换);list中查看(判断)元素的索引;根据元素索引位置进行的判断;利用list中索引位置重新生成一个新的list(截取集合);对比两个list中的所有元素;判断list是否为空;返回Iterator集合对象;将集合转换为字符串;将集合转换为数组;集合类型转换;去重复;备注:内容中代码具有关联性。1.list中添加,获取,删除元素;... 继续阅读 >
202010-08 java中list的用法和实例讲解 目录:list中添加,获取,删除元素;list中是否包含某个元素;list中根据索引将元素数值改变(替换);list中查看(判断)元素的索引;根据元素索引位置进行的判断;利用list中索引位置重新生成一个新的list(截取集合);对比两个list中的所有元素;判断list是否为空;返回Iterator集合对象;将集合转换为字符串;将集合转换为数组;集合类型转换;去重复;备注:内容中代码具有关联性。1.list中添加,获取,删除元素;... 继续阅读 >
202010-08 Java 8新时间日期库java.time的使用示例 Instant——它代表的是时间戳LocalDate——不包含具体时间的日期,比如2020-01-14。它可以用来存储生日,周年纪念日,入职日期等。LocalTime——它代表的是不含日期的时间LocalDateTime——它包含了日期及时间,不过还是没有偏移信息或者说时区。ZonedDateTime——这是一个包含时区的完整的日期时间,偏移量是以UTC/格林威治时间为基准的。Java8是如何处理时间及日期的示例1如何在Java8中获取当天的日期Lo... 继续阅读 >
202010-08 Java给JFrame窗口设置热键的方法实现 使用了简单的JFrame窗口,在窗口中添加菜单,菜单选项,点击鼠标右键出现右键菜单,用io流将输入文本域的内容保存。并设置热键alt+x为退出的热键publicclassMyNotepadextendsJFrame{//菜单栏privateJMenuBarjmb=newJMenuBar();//菜单privateJMenujmFile=newJMenu("文件(F)");privateJMenujmEdit=newJMenu("编辑(E)");privateJMenujmFormat=newJMenu("格式(O)");privateJMenujmFind=newJMenu("... 继续阅读 >
202010-08 JAVA各种OOM代码示例与解决方法 周末了,觉得我还有很多作业没有写,针对目前大家对OOM的类型不太熟悉,那么我们来总结一下各种OOM出现的情况以及解决方法。我们把各种OOM的情况列出来,然后逐一进行代码编写复现和提供解决方法。1.堆溢出-java.lang.OutOfMemoryError:Javaheapspace。2.栈溢出-java.lang.OutOfMemorryError。3.栈溢出-java.lang.StackOverFlowError。4.元信息溢出-java.lang.OutOfMemoryError:Metaspace。5.直... 继续阅读 >
202010-08 java中如何区分==和equals 网上搜了一遍,对于==和equals的表达感觉不全面;总感觉缺点什么;今天把这个比较总结出来三条规律。结论1.基本类型没有equals方法,只有==比较,比较的是值。结论2.所有对象的==比较都是内存地址的比较(上面的两点简单不介绍了)首先我们看Integer类的比较。Integera=1000;Integerb=1000;System.out.println(a==b);//falseSystem.out.println(a.equals(b));//true因为a和b都是对象类型,所以都有自己的堆内存地址,... 继续阅读 >
202010-08 浅谈Java的SPI技术 人狠话不多,先上截图和代码吧。这是工程目录。看到resources目录下面没有,添加了META-INF和services目录。添加了一个com.gys.test.IAnimal文件。这个文件名和上面的接口名完全对应。这个目录的文件名是有讲究的,按照SPI规范来的。上代码:packagecom.gys.test;publicinterfaceIAnimal{voideat();}packagecom.gys.test.impl;importcom.gys.test.IAnimal;publicclassBirdimplementsIAnimal{@Overridepublicvoi... 继续阅读 >
202010-08 浅析JAVA 循环结构 顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。Java中有三种主要的循环结构:while循环do…while循环for循环在Java5中引入了一种主要用于数组的增强型for循环。while循环while是最基本的循环,它的结构为:while(布尔表达式){//循环内容}只要布尔表达式为true,循环就会一直执行下去。publicclassTest{publicstaticvoidmain(Stringargs[]){intx=10;... 继续阅读 >
202010-08 Java 创建线程的3种方法及各自的优点 1.继承Thread类,然后调用start方法。classMyThreadextendsThread{//重写run方法,线程运行后,跑的就是run方法publicvoidrun(){//System.out.println("");}publicstaticvoidmain(String[]args){Threadt1=newMyThread();t1.start();//线程运行,调用的run()方法.}}2.实现Runnable接口的run方法,然后再用Thread类包裹后,调用start方法。classTestThreadim... 继续阅读 >
202010-08 Java 创建线程的3种方法及各自的优点 1.继承Thread类,然后调用start方法。classMyThreadextendsThread{//重写run方法,线程运行后,跑的就是run方法publicvoidrun(){//System.out.println("");}publicstaticvoidmain(String[]args){Threadt1=newMyThread();t1.start();//线程运行,调用的run()方法.}}2.实现Runnable接口的run方法,然后再用Thread类包裹后,调用start方法。classTestThreadim... 继续阅读 >