肥桃的JAVA学习记录
文章平均质量分 58
Archimontao
这个作者很懒,什么都没留下…
展开
-
肥桃的Java学习记录29:MapUtils工具类
今天写项目时候突然发现了有个小工具类,用于判断map集合是否为空。org.apache.commons.collections4中的MapUtils。其中有一个方法是isNotEmpty(),返回一个boolean类型变量。这里是源码:之前一直自己手写判断null和isEmpty(),没想到已经有了写好的工具类。做个小笔记记录一下。...原创 2021-04-13 16:34:05 · 220 阅读 · 0 评论 -
肥桃的Java学习记录28:mybatis
1.介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs) MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储原创 2021-01-19 21:14:14 · 157 阅读 · 0 评论 -
肥桃的Java学习记录27:SpringMVC
1.springMVC介绍Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还 是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iTex原创 2020-12-07 13:42:56 · 179 阅读 · 0 评论 -
肥桃的Java学习记录26:Spring
1.spring介绍Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。1.1 spring 特点1.方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的原创 2020-12-01 11:47:16 · 327 阅读 · 0 评论 -
肥桃的Java学习记录25:过滤器
过滤器(Filter)1.什么是过滤器过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理2.过滤器的语法格式2.1.创建一个类实现Filter接口public class CharSetFilter implements Filter{}2.2.重写接口中的方法public void destroy() { //销毁的方法}public void doFilter(原创 2020-10-23 17:48:49 · 64 阅读 · 0 评论 -
肥桃的Java学习记录24:监听器
监听器(Listener)1.什么是监听器监听器就是监听某个域对象的的状态变化的组件 监听器的相关概念: 事件源:被监听的对象(三个域对象request、session、servletContext) 监听器:监听事件源对象事件源对象的状态的变化都会触发监听器 注册监听器:将监听器与事件源进行绑定 响应行为:监听器监听到事件源的状态变化时所涉及的功能代码(程序员编写代码)2.监听器分类第一维度按照被监听的对象划分:ServletRequest域、HttpSession域、Servl原创 2020-10-23 17:39:05 · 186 阅读 · 0 评论 -
肥桃的Java学习记录22:JSP
1.什么是JSPJSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为 (.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。J原创 2020-10-22 21:27:51 · 427 阅读 · 0 评论 -
肥桃的Java学习记录23:会话跟踪
什么是会话跟踪技术会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。保持对用户会话期间的数据管理。常用的会话跟踪 技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份。Session通过在服务器端记录信息确定用户身份。Cookie1.什么是cookieCookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次 向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别客户端的身份或状态等。原创 2020-10-23 16:28:06 · 108 阅读 · 0 评论 -
肥桃的Java学习记录21:HTML与HTML5常用标签
HTML与HTML5常用标签1. HTML简介1.1 HTML是什么HTML 是 HyperText Mark-up Language 的首字母简写,意思是 超文本标记语言HTML不是一种编程语言,而是一种标记语言超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标签组成用这种语言制作的文件保存的是一个文本文件,文件的扩展名为 .html 或者 .htmhtml文档也叫 Web页面 ,其实就是一个网页,html文件用 编辑器打开显示的 是文本 ,可以用文本的方式编原创 2020-09-12 03:51:16 · 330 阅读 · 0 评论 -
肥桃的Java学习记录20:枚举&注解&反射&内省
枚举&注解&反射&内省在框架中会有应用,目前阶段只要求了解。1、枚举1.1、简介JDK1.5引入了新的类型——枚举。在JDK1.5 之前,我们定义常量都是: public static fianl… 。很难管理。枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。用于定义有限数量的一组同类常量,例如:错误级别:低、中、高、急一年的四季:春、夏、秋、冬商品的类型:美妆、手机、电脑、男装、女装…在枚举类型中定义的常量是该枚举类型的实例。原创 2020-09-11 14:37:40 · 118 阅读 · 0 评论 -
肥桃的Java学习记录19:XML与JSON
XML与JSON简介可扩展标记语言(eXtensible Markup Language)特性:1.xml具有平台无关性, 是一门独立的标记语言.不论是在Windows或者Mac或者其他系统打开,还是用Java,C,Python语言进行解析都可以正常显示。xml可以不依赖任何东西来描述。2.xml具有自我描述性可以去描述自身为什么学习XML?1.网络数据传输客户端和服务器之间的数据安全便捷传输。早期的数据传输没有固定格式,会在不同的团队之间传递数据时增加麻烦。xml可以通过更好的语法来原创 2020-09-10 16:17:04 · 144 阅读 · 0 评论 -
肥桃的Java学习记录18:网络编程
网络编程网络常识1. 什么是计算机网络2. 什么是计算机的IP地址3. 什么是 网络中 网站的域名4. 什么是计算机的端口号5. 什么是计算机之间的通信协议网络编程程序的分类1.B/S程序2.C/S程序TCP协议-OSI网络模型三次握手和四次挥手(了解)TCP程序ServerSocket常用构造方法:常用方法:Socket构造方法:常用方法:实例:InetAddress 描述IP地址的类常用方法:URL 类 (统一资源定位符)(网址) 了解案例1. 下载文件案例2. 传输参数, 并下载数据网络常识1.原创 2020-09-08 02:13:33 · 199 阅读 · 0 评论 -
肥桃的Java学习记录17:多线程
多线程技术概述:进程:指在内存中运行的应用程序。每一个运行中的程序在内存中都有自己的独立内存空间。线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,一个进程至少有一个线程,线程其实是在进程基础上的进一步划分,一个进程启动后,里面的执行路径又可以分为多个线程。线程调度:分时调度:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。(轮流使用,让内存更合理的分配使用)。抢占式调度:让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),ja原创 2020-09-07 18:50:40 · 131 阅读 · 0 评论 -
肥桃的Java学习记录16:IO类
本文是IO类学习时的相关笔记,记录了一些学习时的实例和知识点。IO类的含义I:inO:outFile类:文件和目录路径名的抽象表示一参构造方法创建格式两参构造方法第一个参数可以是之前创建的文件夹文件,也可以是路径,表示在指定的文件夹创建文件。相应的可以使用对象.delete()进行删除。其他常用方法:String类型 getAbsolutePath() 获取文件的路径String类型 getName() 获取文件名称String类型 getParent() 获取父文件夹的名称原创 2020-09-05 10:27:48 · 128 阅读 · 0 评论 -
肥桃的Java学习记录15:List接口的子类,ArrayList 和 LinkedList
Collection接口(重点)本接口中一共定义了 15 个方法,那么此接口的全部子类或子接口就将全部继承以上接口中的方法。但是,在开发中不会直接使用 Collection 接口。而使用其操作的子接口:List、Set。之所以有这样的明文规定,也是在 JDK 1.2 之后才有的。一开始在 EJB 中的最早模型中全部都是使用 Collection 操作的,所以很早之前开发代码都是以 Collection 为准,但是后来为了更加清楚的区分,集合中是否允许有重复元素所以 SUN 在其开源项目 —— PetS原创 2020-09-03 15:13:54 · 162 阅读 · 0 评论 -
肥桃的Java学习记录14:泛型和通配符
泛型:参数化类型,也可以理解为泛指某个类型。可以让方法中的变量暂时不确定类型。泛型可以在三个位置进行使用:三种方式在类创建时就声明一个泛型,可以用字母表示(类型形参)在使用时传入具体类型(类型实参)泛型接口,同上泛型方法1.泛型在类中使用例如:Person类在创建的时候无法确定类型,但是在使用的时候可以确定,就可以将Person创建为泛型,方法的返回值也会是泛型。Public class Person<A>{private String name;private int ag原创 2020-09-02 15:54:10 · 144 阅读 · 0 评论 -
肥桃的Java学习记录13:Date类 Calendar类
Date类 Calendar类部分方法整理Date类Date类表示特定的时刻,精度为毫秒。1秒等于1000毫秒。在JDK1.1之前,Date类允许将日期解释为年,月,日,小时,分钟,秒。还允许格式化和解释日期字符串。由于不符合国际化的原因,JDK1.1开始 Calendar类应该用于日期和时间字段之间的转换。至今需要了解的就是getTime()这一方法,返回值为long类型。获取从格林威治历,1970年1月1日东八区的早上八点整(中国时区)开始到现在的毫秒数。Date()getTime()Da原创 2020-09-02 15:51:34 · 124 阅读 · 0 评论 -
肥桃的Java学习记录12:String类和final关键字
String类特点字符串是不变的,值在创建之后无法改变。因为String对象不可变,所以可以共享他们。例如:两个字符串完全相同,则在内存中可以共享同一个内存地址。字符串常量值字符串的缓存是在字符串常量池里进行缓存,字符串常量池存在于方法区里,(Method Area),方法区是加载代码的区域,又称为永久代(Permanent Generation)。方法区是被所有线程共享,同时操作的内存。堆内存 heap堆内存在逻辑上分为三部分 (perm):新生代(Young generation 简原创 2020-09-01 19:58:55 · 137 阅读 · 0 评论 -
肥桃的Java学习记录11:包装类
包装类针对Java的八种数据类型,都有相应的包装类。这八种数据类型可以分为两大类:Integer,Short,Long,Double,Float,Byte都是属于Number的子类,表示一个数字。Character,Boolean则是Object的直接之类。举例:int a = 10;Integer i = new Integer(10);int a = 10 在这里直接存入栈内存,不进入堆内存。Integer i = new Integer(10) 这里在栈内存中存放Integer原创 2020-09-01 18:48:47 · 113 阅读 · 0 评论 -
肥桃的Java学习记录10:用户密码登录实例
题目:假设用户账号为:admin,密码为 123,编写用户登陆案例。 要 求:请将登陆定义为 login 方法, 并将 login 方法写在 UserService 类中思考:首先创建一个UserService类 其中给ACCOUNT设置为静态final变量,因为账号不可改变。之后为密码设置getter和setter方法。再由题意创建login和authentication方法用于接受用户输入的账号密码。import java.util.Scanner;class UserService{ publ原创 2020-08-28 23:53:52 · 648 阅读 · 0 评论 -
肥桃的Java学习记录9:人机猜拳
程序入口 调用方法来获得输入,进行比较判断胜负public class CaiQuan { public static void main(String[] args) { //获取player和电脑的猜拳结果 Player player = new Player(); String playerResult = player.guess(); AI ai = new AI(); String aiResult = ai.guess(); System.out.println(原创 2020-08-28 22:35:38 · 117 阅读 · 0 评论 -
肥桃的Java学习记录9:类与对象创建的格式
创建对象的格式 类名+对象名 = new 类名(); 赋值的格式 对象名.变量=赋值;public class Employee { public static void main(String[] args) { //创建对象的格式 //类名+对象名 = new 类名(); Employee1 employee = new Employee1(); //赋值的格式 //对象名.变量=赋值; employee.name = "肥桃"; employee.id .原创 2020-08-26 03:33:55 · 207 阅读 · 0 评论 -
肥桃Java学习记录8:双色球(有去重)
双色球 任务描述主要思路需要一个方法来选出红球 一个方法确定中奖情况 一个方法来获得用户输入选球:使用两个数组来作为红球池和蓝球池,用循环把随机数储存进中奖数组。在储存前进行去重的判断。蓝球直接选一个球池的随机数。中奖:使用一个int类型的变量储存获奖情况,将选中的球和获奖球进行比较,如果获奖了则返回相应的值,没中奖则返回0获取用户输入:将用户的输入和中奖球比较,得到中奖情况,用switch语句输出不同获奖情况的结果。创建奖池,选择中奖号码import java.util.Random;i原创 2020-08-25 13:04:16 · 490 阅读 · 0 评论 -
肥桃Java学习记录7:简易五子棋
编写一个简易的五子棋要求绘制棋盘 3提示黑方(用 1 表示)和白方(用 2 表示)分别下棋(X,Y 轴位置) 并重新绘制棋盘。每当一方下棋后判断是否获胜 。由于代码多了看起来比较麻烦,这里选择写在多个方法里。主体部分思路是使用空的二维数组作为棋盘,然后给棋盘赋值网格线作为基础,打印棋盘让用户进行选择。之后接收用户的输入,并且每次落子都顺带判断胜负。import java.util.Scanner;public class WuZiQi { //空棋盘 private stat原创 2020-08-24 14:58:34 · 231 阅读 · 0 评论 -
肥桃Java学习记录6:围成一圈报数123选队长,报3退出最后一人为队长。
题目:今天同学们相约一起爬山游玩,为了更好的进行这场活动,大家准备推举 一个人作为出游的临时队长。为了体现合理公平,大家提出了一个比较有趣的 规则。所有人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长。 请你通过编写程序,求出一组人中的队长是原来第几位同学。代码部分import java.util.Arrays;import java.util.Scanner;public class PaShan { p原创 2020-08-22 12:46:34 · 632 阅读 · 0 评论 -
肥桃Java学习记录5:图形打印、水仙花数
今日学习主要内容为分支执行结构和循环执行结构。这里主要是循环执行结构的思考和记录。先是三种图形打印的思路第一种public static void main(String[] args) { //外层循环控制行数 for(int i=0;i<=5;i++) { //内层循环控制列数 //1 2 3 4 5 for(int j=0;j<i*1+1;j++) { System.out.print("*"); } System.out.println()原创 2020-08-21 00:18:26 · 153 阅读 · 0 评论 -
肥桃Java学习记录4:Hello World,整型变量互换,回文数判断,各个位数求和。
今日完成了三份作业,首先是编码规范的Hello World程序,无需多言。1. 整型互换题目:定义整型变量 a、b,写出将 a、b 两个变量值进行互换的程序 (要求不能使用第三个变量)其次是两个整型数int的a,b值的互换。首先附上我一开始的思考,要想将两个数值进行调换,可先创建变量int c,将a存入c,再将 a = b 赋值, 然后将c赋值给b c=b,完成调换。随后作业要求不利用第三方的变量,只用a,b进行计算。由于今日学习内容包含运算符,所以最后想出如下方法:a = a + b;b原创 2020-08-19 21:54:51 · 267 阅读 · 0 评论 -
肥桃Java学习记录3:Java发展史及特性等
Java 发展史来自sun公司,1996年1月推出了JDK1.0。JDK包含有两个部分 开发工具和运行环境。运行环境包括核心API,集成API、用户界面API、发布技术、Java虚拟机(JVM)。JDK1.0 代表性技术:Java虚拟机,Applet,AWT。1997年二月推出了JDK1.1,代表性技术有JDBC、JavaBeans、RMI、JAR文件格式、Java语法中的内部类和反射。1998年12月推出JDK1.2,J2EE发布(企业版)1999年6月,sun公司把Java体系分为了三个方原创 2020-08-18 22:07:36 · 127 阅读 · 0 评论 -
肥桃Java学习记录2:system.out.println()基础解释
部分内容class Main {public static void main(String[] args){System.out.println();}main 是类 (class)的名称在main这个类里,描述的是方法(method)public是共有的意思,其他的类可以调用main这个class里的method。static是指这个方法被调用时独立于Main类的任何实例。String[ ] args是指程序执行师的参数。args可以换成其他的标识符名。String[ ]不能改。Sy原创 2020-08-17 23:09:19 · 611 阅读 · 0 评论 -
肥桃Java学习记录1:读取网站数据 URL类操作
代码部分//1. 创建一个URL类的对象urlURL url = new URL(“网址”);//2. 通过URL类的对象url打开网络连接 , 并得到连接对象connURLConnection conn = url.openConnection();//3. 通过连接对象 , 得到用于读取网页内容的输入流 isInputStream is = conn.getInputStream();//4. 将上述的字节流is 装饰为字符流 , 将字符流再装饰为一次能读取一行的字符流brBuffere原创 2020-08-17 00:23:13 · 205 阅读 · 0 评论