Java
王加油
The best or nothing!
展开
-
Lambda表达式
Lambda表达式理解Functional Interface(函数式接口)是学习Java8 Lambda表达式的关键所在。函数式接口的定义:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。@FunctionalInterfacepublic interface Runnable { public abstract void run();}对于函数式...原创 2020-04-15 21:33:46 · 94 阅读 · 0 评论 -
Java注解和反射
注解什么是注解Annotation是从JDK1.5开始引入的新技术Annotation的作用:不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别)可以被其他程序(比如编译器)读取Annotation的格式注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如@SU盘热身赛Warning(value=“unchecked”)An...原创 2020-03-16 22:11:46 · 122 阅读 · 0 评论 -
网络编程笔记
网络编程1.1 概述信件:计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:无线电台…传播交流信息,数据交换,通信。想要达到这个效果需要什么:如何准确地定位网络上的一台主机 ip地址:端口,定位到这个计算机上的某个资...原创 2020-03-07 12:27:03 · 106 阅读 · 0 评论 -
Java基础回顾-03
一并发1 共享内存每一个线程表示一条单独的执行流,有自己的程序计数器,有自己的栈,但线程之间可以共享内存,它们可以访问和操作相同的对象。import java.util.ArrayList;import java.util.List;public class ShareMemoryDemo { private static int shared = 0; pr...原创 2020-01-20 20:16:55 · 127 阅读 · 0 评论 -
Java基础回顾-02
1.类的扩展1.1如何应对继承的双面性避免使用继承 正确使用继承避免继承的三种方法:使用final关键字 优先使用组合而非继承 使用接口1.1.1 使用final避免继承final方法不能被重写final类不能被继承1.1.2优先使用组合使用组合可以抵挡父类变化对子类的影响,从而保护子类,应该优先使用组合。public class Child { ...原创 2020-01-06 13:36:22 · 87 阅读 · 0 评论 -
Java基础回顾-01
1 基础语法Java不仅是一种语言,Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。面向对象:是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。1.1 封装在面向对象那个设计方法中,封装(Encapsulation)是一种将抽象函数式接口的实现细节包装、隐藏起来的方法。...原创 2019-12-13 16:01:45 · 146 阅读 · 0 评论 -
Java-反射机制
获取类对象1. 什么是类对象类对象概念:所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法,有多少属性,有哪些普通方法。对象之间的区别:garen 和 teemo 都是 Hero 对象,他们的区别在于,各自有不同的名称,血量,伤害值。 类之间的区别:Hero 和 Item 都是类,他们的区别在于有不同的方法,不同的属性。类对象,就是用于描述这种类,都有什...原创 2019-07-21 00:49:54 · 126 阅读 · 0 评论 -
Java String深度解析
深入理解Java中的String(大坑)java中String和char(面试必考题)很深入地讲解了Java中String的用法和相关问题,值得阅读。转载 2019-06-28 17:07:53 · 164 阅读 · 0 评论 -
JDBC学习-ORM、DAO、数据库连接池
ORMORM = Object Relationship Database Mapping 对象和关系数据库的映射 简单说,一个对象,对应数据库里的一条记录。1. 根据id返回一个hero对象提供方法get(int id) 返回一个Hero对象Hero类package charactor;public class Hero { //增加id属性 public int...原创 2019-07-12 19:31:53 · 597 阅读 · 0 评论 -
Servlet-02和JSP
请求中文乱码解决:* 1.使用String进行数据重新编码 * uname=new String(uname.getBytes("iso8859-1"),"utf-8"); * 2、使用公共配置 * get方式: * 步骤一:req.setCharacterEncoding("utf-8"); * ...原创 2019-06-23 12:53:48 · 83 阅读 · 0 评论 -
Servlet-01
Servlet的使用1.创建普通的Java类并继承HttpServlet 2.覆写service方法 3.在service方法中写逻辑代码即可 4.在WebRoot下的WEB-INF文件夹下的web.xml文件中配置servlet运行流程:url:http://localhost:8080/project/my2 组成: 端口号/虚拟项目名/servlet 的别名 UR...原创 2019-06-13 22:15:02 · 109 阅读 · 0 评论 -
JDBC学习-Hello JDBC
1 为项目导入mysql-jdbc的jar包访问MySQL数据库需要用到第三方的类,这些第三方的类,都被压缩在一个叫Jar的文件里,为了代码能使用第三方的类,需要为项目导入mysql的专用Jar包。通常将项目用的jar包统一放在项目的lib目录下,然后在eclipse中导入这个jar包。导包步骤: 右键project->property->java build path->...原创 2019-07-12 11:18:19 · 143 阅读 · 0 评论 -
JDBC学习-CRUD、Statement、execute、事务
CRUDCRUD是最常见的数据库操作,即增删改查C 增加(Create) R 读取查询(Retrieve) U 更新(Update) D 删除(Delete)在JDBC中增加、删除、修改的操作都很类似,只是传递不同的SQL语句就行了。查询因为要返回数据,和上面不同。1. 增加这段Hello JDBC中的代码,用于向数据库插入数据。import java.sql.C...原创 2019-07-12 16:12:27 · 585 阅读 · 0 评论 -
Java 接口与继承 笔记
1. Object 类是所有类的父类;声明一个类的时候,默认是继承了 Object2. Object 类提供了一个 toString方法,所以所有的类都有 toString 方法toString() 的意思是返回当前对象的字符串表达。 通过 System.out.println 打印对象就是打印该对象的 toString() 返回值3. finalize()当一个对象没有...原创 2019-07-30 00:34:05 · 103 阅读 · 0 评论 -
Filter
Hello Filter1. Filter 概念Filter就像是一个一个哨卡,用户的请求需要经过Filter,并且可以有多个过滤器。2. 编写 FirstFilter开发一个简单的 FirstFilter,用来打印用户访问 ip 地址和访问的页面:HttpServletRequest request = (HttpServletRequest) req;doFli...原创 2019-07-21 11:29:21 · 152 阅读 · 0 评论 -
JSP - JSTL、EL 表达式
JSTL:JSP Standard Tag Library 标准标签库JSTL 允许开发人员可以像使用 HTML 标签那样在 JSP 中开发 Java 功能。JSTL 库有:core i18n fmt sql ......i18n 和 sql 用的很少,core 和 fmt 在工作中会使用,本文主要介绍 core 和 fmt。1. 导入 jar 包为了能够在 JSP ...原创 2019-07-21 14:56:17 · 242 阅读 · 0 评论 -
Java-泛型
1. 集合中的泛型不使用泛型带来的问题:ADHero(物理攻击英雄) APHero(魔法攻击英雄)都是Hero的子类。 ArrayList默认接受Object类型的对象,所以所有对象都可以放进ArrayList中。所以get(0)返回的类型是Object。 接着,需要进行强制转换才可以得到APHero类型或者ADHero类型。如果软件开发人员记忆比较好,能记得哪个是哪个,还是可以的。...原创 2019-08-10 21:00:31 · 122 阅读 · 0 评论 -
Java-类加载机制
1. 类的加载、连接和初始化1.1 JVM 和类当调用java命令运行某个Java程序时,该命令将启动一个Java虚拟机进程。不管该Java程序有多么复杂、该程序启动了多少个线程,它们都处于该Java虚拟机进程中。同一个JVM的所有线程、所有变量都处于同一进程中,它们都使用该JVM进程的内存区。当Java程序运行结束时,JVM进程结束,该进程在内存中的状态将会丢失。代码演示,包...原创 2019-08-12 08:54:49 · 79 阅读 · 0 评论 -
《Head First Java》读书笔记day02
设计真正有用的程序--数啤酒瓶童谣的程序public class BeerSong { public static void main (String[] args) { int beerNum = 99; String word = "bottles"; while(beerNum > 0){ if(b...原创 2019-01-19 21:20:08 · 730 阅读 · 0 评论 -
Web.xml详解
转载自:http://blog.csdn.net/believejava/article/details/43229361另,实际配置方式为:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http:/...转载 2019-06-09 22:09:22 · 73 阅读 · 0 评论 -
Java集合
对集合的知识有点陌生了,再复习一下。为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,Java5还在java.util.concurrent包下提供了一些多线程支持的集合类。集合类和数组不同,数组元素既可...原创 2019-05-05 21:11:28 · 114 阅读 · 0 评论 -
《Head First Java》读书笔记day10
16 数据结构Java集合框架(Collection Framework)能够支持绝大多数你会用到的数据结构。关于泛型1.创建被泛型化类(例如ArrayList)的实例;创建ArrayList时你必须要指定它所容许的对象,就像单纯的数组一样。new ArrayList<Song>()2.声明与指定泛型类型的变量。List<Song> songLi...原创 2019-01-27 17:25:51 · 120 阅读 · 0 评论 -
《Head First Java》读书笔记day09
15 网络与线程我们会创建客户端的socket、服务器端的socket,并且会让两端相互交谈。要创建Socket连接,你得知两项关于服务器的信息:它在哪里以及用哪个端口来收发数据。也就是说IP地址与端口号。Socket chatSocket = new Socket("196.164.1.103",5000);Socket连接的建立代表两台机器之间存有对方的信息,包括网络地址和T...原创 2019-01-26 23:46:07 · 116 阅读 · 0 评论 -
《Head First Java》读书笔记day00
背景介绍:2017年入学读研,这么快就2019了,一晃一年半也就这么过去了,并且秋季也要找工作了,鸭梨有点大。但想想这么久以来,平时忙着自己的项目(本人非计算机专业,项目也非计算机/软件相关),晚上和周末学习编程技术,一路走来,没有一天敢放松,没有一时敢辜负,但总归是跌跌撞撞,从刚进来时的C,到C++,然后有课程设计需要用Python,又有感兴趣的课后作业是做一个网站,用到PHP+HTML+C...原创 2019-01-17 23:13:01 · 266 阅读 · 0 评论 -
《Head First Java》读书笔记day01
昨天晚上临时接了个实验室传单设计的工作,一做就是到凌晨三点多,还好昨天白天抽空看了不少,也记了以下这些,但忘了发。不管怎样,都是极不应该的,说过的话第一天就打脸,也是很疼的。没履行就是没履行,如果再有下次,断食一天,既然没时间,那就把吃饭的时间挤出来吧!类存在于源文件里面;方法存在于类中;语句存在于方法中。源文件(扩展名为.java)带有类的定义;类中带有一个或多个方法;在方法的花括号中编写...原创 2019-01-19 13:32:11 · 195 阅读 · 0 评论 -
《Head First Java》读书笔记day04
Java是通过值传递的,也就是通过拷贝传递;方法无法改变调用方所传入的参数。如果方法声明了非void的返回类型,那就一定要返回与类型相同的值。数据隐藏-封装的基本原则:将你的实例变量标记为私有的,并提供公有的getter与setter来控制存取动作。将实例变量标记为private,将getter与setter标记为public。实例变量永远都会有默认值。如果你没有明确的赋值给实例变量,...原创 2019-01-21 23:28:29 · 147 阅读 · 0 评论 -
《Head First Java》读书笔记day05
了解继承在设计继承时,你会把共同的程序代码放在某个类中,然后告诉其他的类说此类是它们的父类。当某个类继承另一个类的时候,也就是子类继承自父类。以Java的方式说,这是“子类继承父类”。继承的关系意味着子类继承父类的方法。当我们提及“类的成员”时,成员的意思就是实例变量和方法。子类是extends父类来的 子类会继承父类所有public类型的实例变量和方法,但不会继承父类所有private...原创 2019-01-22 22:14:08 · 110 阅读 · 0 评论 -
《Head First Java》读书笔记day06
构造函数:1.构造函数是在新建类时会执行的程序。Duck d = new Duck();//new Duck()2.构造函数必须与类的名字一样,且没有返回类型。public Duck(int size) { }3.如果你没有写构造函数,则编译器会帮你写一个没有参数的public Duck() { }4.一个类可以有很多个构造函数,但不能有相同的参数类型和顺序,这叫...原创 2019-01-23 23:21:56 · 87 阅读 · 0 评论 -
《Head First Java》读书笔记day07
昨天年会,节目排练以及正式上演,还有年会完一起吃火锅。所以一天跟小伙伴都在为这两件事准备。置于结果呢,也还是好的,节目反响较好,我们的准备没有白费;火锅吃的也比较嗨,一行人吹吹牛皮,怼一怼人,感觉很开心。一年来,真的似乎没有比这次更放得开的了。吃过火锅,又打牌打麻将,游戏黑洞表示,保皇党演起来连自己都骗...怪就怪啤酒太好喝了吧。说了这么多,依然是没有改变自己没有更博文看书的事实,那就按规定,...原创 2019-01-25 16:08:15 · 151 阅读 · 0 评论 -
牛客网刷题day04
1.String str1 = “abc”,“abc”分配在内存哪个区域? 字符串常量区 用new创建的对象在堆区 函数中的临时变量在栈区 java中的字符串在字符串常量区 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆:存放用new产生的数据 静态域:存放在对象中用static定义的静态成员 常量池:存放常量 非...原创 2019-02-27 20:09:50 · 327 阅读 · 0 评论 -
牛客网刷题day01
1.下列InputStream类中哪个方法可以用于关闭流? close方法用来关闭流 skip()用来跳过一些字节 mark()用来标记流 reset()复位流 2.Java Application 源程序的主类是指包含有( )方法的类。 public static void main方法 java程序种类: 1.内嵌于web文件中,...原创 2019-02-24 00:31:04 · 400 阅读 · 0 评论 -
牛客网刷题day05
1.局部变量能否和成员变量重名? 可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量 局部变量可以和成员变量重名,不加“this”修饰时,优先使用最近的变量。 2.关于AOPAOP和OOP都是一套方法论,也可以说成设计模式、思维方式、理论规则等等。AOP不能替代OOP,OOP是obejct abstraction,而AOP是concern abstrac...原创 2019-03-13 14:14:38 · 216 阅读 · 0 评论 -
Java面向对象(上)
构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。初次之外,Java还提供了一种静态初始化块,静态初始化块用于初始化类,在类初始化阶段被执行。类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象...原创 2019-02-27 23:28:30 · 146 阅读 · 0 评论 -
Java注解、反射
Annotation的作用:不是程序本身,可以对程序做出解释。(这一点,跟注释没什么区别) 可以被其他程序(比如:编译器等)读取。 Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarning(value = “unchecked”)。Annotation在哪里使用:可以附加在package,class,method,fi...原创 2019-02-21 22:05:45 · 87 阅读 · 0 评论 -
牛客网刷题day03
1.下列程序执行后结果为( )class A { public int func1(int a, int b) { return a - b; }}class B extends A { public int func1(int a, int b) { return a + b; }}public class Child...原创 2019-02-26 21:17:02 · 698 阅读 · 0 评论 -
牛客网刷题day02
1.JDK所提供的StringBuilder、StringBuffer就是为了照顾单线程环境和多线程环境所提供的类,在单线程环境下应该使用StringBuilder来保证更好的性能;当需要保证多线程安全时,就应该使用StringBuffer。 2.下面关于Java类的构造方法的说法中正确的是:( ) 一个类至少有一个构造方法 构造方法的返回值类型必须是void(错误) ...原创 2019-02-26 00:30:58 · 318 阅读 · 0 评论 -
Java面向对象(下)
Java提供了final关键字来修饰变量、方法和类,系统不允许为final变量重新赋值,子类不允许覆盖父类的final方法,final类不能派生子类。通过使用final关键字,允许Java实现不可变类,不可变类会让系统更加安全。自动装箱就是可以直接把一个基本类型值赋给一个包装类实例。==和equals方法当使用==来判断两个变量是否相等时:如果两个变量是基本类型变量,且都是数值...原创 2019-03-04 23:26:52 · 104 阅读 · 0 评论 -
win10系统安装配置java环境(转)
新买的笔记本安装Java环境,结果按照某些教程上进行path路径设置,结果总是不行。即便按照那个浏览量很多万的博文,也是失败。后来百度这篇经验解决了我的问题,于是将它转在此处,以便于需要的朋友查阅,自己再遇到同类问题时也好查找。最后,向原著者致敬!https://jingyan.baidu.com/article/4b52d702db5982fc5c774bc3.html...转载 2019-02-19 19:44:47 · 125 阅读 · 0 评论 -
《Head First Java》读书笔记day03
看了昨天的博客,猜数字游戏的一大堆代码占用了很大的篇幅。经过考虑,决定以后,实现代码与知识点的分离,较多的代码会上传到GitHub里,保证在博客里以知识点为主。Java很注重类型,你不能把长颈鹿类型的变量装进兔子类型的变量中。先记住声明变量的规则:variable must have a type.变量必须拥有类型;variable must hava a name.变量必须拥有名字。...原创 2019-01-20 23:39:23 · 130 阅读 · 0 评论