03 2022 档案
摘要:javaweb学习21:MVC三层架构 三层架构:MVC(微服务之前常用的架构都是MVC) 什么是MVC: Model:模型:就是POJO实体类 View:视图:就是JSP页面 Controller:控制器:就是Servlet,负责跳转页面 早些年架构: 用户直接访问控制层; 控制层直接操作数据;
阅读全文
摘要:javaweb学习20:JavaBean JavaBean:实体类 JavaBean有特定的写法: 要有一个无参构造; 属性必须私有化; 必须有对应的get/set方法 一般用来和数据库的字段做映射;ORM ORM:对象关系映射; 表 >类 字段-->属性 记录-->对象 数据库表格:people表
阅读全文
摘要:javaweb学习19:JSP, JSTL标签 JSP标签:3种 <jsp:include /><%--页面转发: http://localhost:8080/jsptag.jsp?name=张三&age=12--%><jsp:forward page="/jsptag2.jsp"> <jsp:p
阅读全文
摘要:javaweb学习18:JSP内置对象及作用域 JSP:9大内置对象 PageContext:存东西 Request:存东西 Response Session:存东西 Application:【ServletContext】:存东西 config:【ServletConfig】 out page:几
阅读全文
摘要:javaweb学习17:JSP基础语法和指令 JSP基础语法: 任何语言都有自己的语法,Java中有; JSP作为Java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可!);Java所有语法都支持! JSP表达式:<%= 变量或者表达式 %> 作用:用来将程序的输出,输出到客户端; 语法格
阅读全文
摘要:javaweb学习16:JSP原理刨析 JSP: 什么是JSP:Java Server Pages(java服务器端页面); 也和Servlet一样,用于开发动态web技术; 最大的特点: 写JSP就像在写HTML; 区别: HTML只给用户提供静态的数据; JSP页面中可以嵌入Java代码,为用户
阅读全文
摘要:javaweb学习15:Session(重点) Session: 服务器会给每一个用户(浏览器)创建一个Session对象; 一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在; Session和Cookie的区别: Cookie:把用户的数据写给用户的浏览器;浏览器保存
阅读全文
摘要:javaweb学习14:Cookie讲解 什么是会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话; 一个网站怎么标记你来过? 服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了;Cookie 服务器登记你来过了,下次你来的时候我来匹配你;s
阅读全文
摘要:javaweb学习13:Request应用 HttpServletRequest: HttpServletRequest代表客户端的请求,用户通过HTTP协议访问服务器; HTTP请求中的所有信息会被封装到HttpServletRequest; 我们可以通过这个HttpServletRequest的
阅读全文
摘要:javaweb学习12:Response重定向 Response实现重定向: B一个web资源收到客户端A请求后,B它会通知客户端A去访问另外一个web资源C,这个过程叫重定向; void sendRedirect(String var1) throws IOException; 重定向和跳转的区别
阅读全文
摘要:javaweb学习11:Response验证码实现 Response验证码实现: 验证码怎么来的? 前端实现: 后端实现:需要用Java的图片类,生成一个图片; 代码案例:验证码功能(目的:练习Response的使用) /** * 验证码功能 */public class IamgeServlet
阅读全文
摘要:javaweb学习10:Response下载文件 HttpServletResponse对象: web服务器接收到客户端的HTTP请求,会针对这个请求,分别创建一个代表请求的HttpServletRequest对象,一个代表响应的HttpServletResponse对象; 如果要获取我们客户端请求
阅读全文
摘要:javaweb学习09:ServletContext学习 ServletContext学习: web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用; ServletContext对象是由容器创建的; ServletContext应用:
阅读全文
摘要:javaweb学习08:Servlet原理 Servlet原理: Servlet是由web服务器(Tomcat)调用,web服务器在收到浏览器请求之后,会: Mapping问题: 一个请求可以指定一个映射路径; <servlet-mapping> <servlet-name>hello</servl
阅读全文
摘要:javaweb学习06:IDEA构建Maven项目遇到的问题 Unable to import maven project:See logs for details: 抛错:com.google.inject.internal.Errors.throwCreationExceptionIfError
阅读全文
摘要:IDEA操作:idea可以生成jar的目录树 IDEA生成jar包的目录树: Maven项目中所有jar包的目录结构;
阅读全文
摘要:javaweb学习05:IDEA中Maven的操作 IDEA中使用Maven: 启动IDEA; 创建一个Maven项目: 新建GAV: GroupId:组 ArtifactId:项目名 Version:版本(1.0-SNAPSHOT) 选择Maven的地址: maven的地址:maven路径; se
阅读全文
摘要:javaweb学习04:Maven环境搭建 Maven环境搭建: 为什么要学习maven? 在Javaweb开发中,需要使用大量的jar包,这些jar包,我们都需要手动去导入; 如何能够让一个东西自动帮我们导入和配置这个jar包; 由此,maven诞生了; Maven项目架构管理工具: 我们目前用来
阅读全文
摘要:IDEA常用的快捷键 IDEA快捷键: ctrl+shift+alt:多行操作psvm:生成main()方法;fori:生成for循环;Ctrl+Alt+v:自动补齐返回值类型ctrl+o:覆写方法ctrl+i:实现接口中的方法ctrl+shift+u:大小写转换CTRL+SHIFT+Z:取消撤销
阅读全文
摘要:mysql学习17 数据库连接池: DBCP连接池; C3P0连接池; Druid连接池; 池化技术: 数据库连接--执行完毕 --释放;(从连接 释放:十分浪费资源) 池化技术:准备一些预先的资源,过来就连接预先准备好的; 最小链接数: 最大链接数:100 (业务最高承载上限) 等待超时:100m
阅读全文
摘要:mysql学习16 JDBC操作事务: 事务:要么都成功,要么都失败; ACID原则: 原子性:要么都完成,要么都不完成 一致性:总数不变 隔离性:多个进程互不干扰 持久性:一旦提交不可逆,持久化到数据库 隔离性会产生问题: 脏读:一个事务读取了另一个没有提交的事务; 不可重复读:在同一个事务内,重
阅读全文
摘要:mysql学习15 使用IDEA连接数据库: 配置数据源: 配置mysql连接信息; 测试连接: //报错:Connection to data_test@localhost failed.[08001] Could not create connection to database server.
阅读全文
摘要:mysql学习14 PrepareStatement对象: 可以防止SQL注入,并且效率更高; st.executeUpdate(); executeQuery(); 代码案例: 新增:st.executeUpdate(); import java.sql.PreparedStatement;im
阅读全文
摘要:mysql学习13 SQL注入: SQL存在漏洞,会被攻击,导致数据泄露; SQL会被拼接 :or 1=1 代码案例: import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import j
阅读全文
摘要:mysql学习12 Statement对象: jdbc中的Statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可; Statement对象的executeUpdate方法,用于向数据库发送增,删,改的SQL语句,executeUpd
阅读全文
摘要:mysql学习11 数据库驱动: 不同的数据库有不同的数据库驱动; 数据库驱动由数据库厂商提供; 程序不能直接操作数据库,通过数据库驱动连接数据库; JDBC: SUN公司为了简化开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称JDBC; 这些具体的规范由厂商去做; 对
阅读全文
摘要:mysql学习10 为什么需要数据规范化: 信息重复 更新异常 插入异常:无法正常显示信息; 删除异常:漏删关联表,丢失有效信息; 三大范式: 第一范式: 原子性:保证每一列不可再分; 第二范式: 前提:满足第一范式; 每张表只描述一件事情; 第三范式: 前提:满足第一范式和第二范式; 确保数据表中
阅读全文
摘要:mysql学习09 为什么要规范数据库设计: 当数据库比较复杂的时候,我们就需要设计了; 糟糕的数据库设计: 数据冗余,浪费空间; 数据插入和删除都比较麻烦/异常【屏蔽使用物理外键】 程序的性能差; 良好的数据库设计: 节省内存空间; 保证数据的完整性; 方便我们开发系统; 软件开发中,关于数据设计
阅读全文
摘要:mysql学习08(数据库权限和备份) 权限管理: 数据库用户管理:命令 -- 用户表:mysql.user-- 本质:就是对这张表的增删改查;-- 创建用户:create user 用户名 IDENTIFIED BY '密码'CREATE USER demo IDENTIFIED BY 'dem
阅读全文
摘要:mysql学习07 事务ACID原则,脏读,不可重复读,幻读 什么是事务: 核心:将一组SQL放在一个批次中去执行; 要么都成功,要么都失败; InnoDB:支持事务; 事务原则:ACID 原子性(Atomicity):要么都成功,要么都失败 原子性是指事物是一个不可分割的工作单位,事务中的操作要么
阅读全文
摘要:mysql学习06 聚合函数(常用) 函数名称描述 COUNT() 计数 SUM() 求和 AVG() 平均值 MAX() 最大值 MIN() 最小值 语法: --语法:SELECT COUNT(studentNo) FROM result ; -- Count(字段):会忽略所有的null值;SE
阅读全文
摘要:mysql学习05 DQL查询语句(最重点) DQL:数据查询语言; 所有的查询操作都用它, select 简单的查询,复杂的查询它都能查 数据库中最核心的语言,最最重要的语言 数据库的设计范式 SELECT语法 --语法:select [all | distinct]{* |table.* | [
阅读全文
摘要:mysql学习04 MYSQL的数据管理:目录 外键(了解即可) DML:数据库管理语言(必会) 添加:insert 修改 删除 外键: 方式1:在创建表的时候,增加约束(麻烦,比较复杂) CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) NOT
阅读全文
摘要:mysql学习03 创建数据库表:(重点) -- 注意点:使用英文() ,表的名称和字段,尽量使用``括起来;-- AUTO_INCREMENT 自增;-- 字符串使用''括起来;-- 所有的语句后面加, 最后一个字段不用加;-- PRIMARY KEY 主键:一般一张表只有一个;CREATE T
阅读全文
摘要:mysql学习02:基本的命令操作 连接数据库: 命令行连接! --1,命令行连接数据库:mysql -u root -p--2,修改用户密码:update mysql.user set authentication_string=password('123456') where user='ro
阅读全文
摘要:Java基础学习:注解和反射15 反射操作注解: getAnnotations: getAnnotation; 练习ORM: 什么是ORM:Object relationship Mapping:对象关系映射 类和表结构对应 属性和字段对应 对象和记录对应 要求:利用注解和反射完成类和表结构的映射关
阅读全文
摘要:Java基础学习:注解和反射13 小结: 在实际的操作中,取得类的信息的操作代码,并不会经常开发; 一定要熟悉java.lang.reflect包的作用,反射机制; 如何取得属性,方法,构造器的名称,修饰符等; 有了Class对象,能做什么? 创建类的对象:调用Class对象的newInstance
阅读全文
摘要:Java基础学习:注解和反射12 获取运行时类的完整结构: 通过反射获取运行时类的完整结构: Field , Method , Constructor , Superclass , Interface , Annotation 实现全部接口; 所继承的父类; 全部的构造器; 全部的方法; 全部的Fi
阅读全文
摘要:Java基础学习:注解和反射10 分析类初始化: 什么时候会发生类初始化: 类的主动引用(一定会发生类的初始化): 当虚拟机启动,先初始化main方法所在的类; new一个类的对象; 调用类的静态成员(除了final常用)和静态方法; 使用java.lang.reflect包的方法对类进行反射调用;
阅读全文
摘要:Java基础学习:注解和反射09 Java内存分析: 方法区是一个特殊的堆; 类的加载过程: 当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来堆该类进行初始化; 类的加载与ClassLoader的理解: 加载:将class文件字节码内容加载到内存中,并将这些静态数据转换
阅读全文
摘要:Java基础学习:注解和反射08 哪些类型可以有Class对象? class:外部类,成员内部类,静态内部类,局部内部类,匿名内部类; interface:接口 []:数组 enum:枚举 annotation:注解@interface primitive type:基本数据类型 void 代码案例
阅读全文
摘要:Java基础学习:注解和反射07 得到Class类的几种方式: Class类: 对象照镜子后可以得到的信息:某个类的属性,方法和构造器;某个类到底实现了哪些接口;对于每个类而言,JRE都为其保留了一个不变的Class类型的对象,一个Class对象包含了特定某个结构的有关信息; Class本身也是一个
阅读全文
摘要:Java基础学习:注解和反射06 获得反射对象: Java反射机制提供的功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时获取泛型信息 在运行时调用任意一个对象的成员变量和方法 在运行时处理注解 生成动态代理 反射的优
阅读全文
摘要:Java基础学习:注解和反射05 反射机制:Java Reflection 目录: Java反射机制概述 理解Class类并获取Class实例 类的加载与ClassLoader 创建运行时类的对象 获取运行时类的完整结构 调用运行时类的指定结构 静态 VS 动态语言: 动态语言: 是一种在运行时可以
阅读全文
摘要:Java基础学习:注解和反射04 自定义注解: 使用@Interface自定义注解时,自动继承了java.lang.annotation.Annotation接口; 分析: @interface 用来声明一个注解; //自定义注解:格式public @interface 注解名 { 自动义内容}/
阅读全文
摘要:Java基础学习:注解和反射03 元注解: 元注解的作用就是负责注解其他注解,Java定义了4个标准的meta-annotation类型,他们被用来提供对其他annotation类作说明; 这些类型和它们所支持的类在java.lang.annotation包中可以找到; @Target:用于描述注解
阅读全文
摘要:Java基础学习:注解和反射02 内置注解: @Override:定义在java.lang.Override中,此注释只适用于修辞方法,表示一个方法声明打算重写父类中的另一个方法声明; @Deprecated:定义在Java.lang.Deprecated中,此注释可以用于修辞方法,属性,类,表示不
阅读全文
摘要:Java基础学习:注解和反射01 目录: 注解入门 内置注解 自定义注解,元注解 什么是注解:Java.Annotation 注解是JDK5.0开始引入的新特性; 注解的作用: 不是程序本身,可以对程序做出解释; 可以被其他程序(比如:编译器)读取;(通过反射读取) 注解的格式: 注解是以 @注释名
阅读全文
摘要:网络编程:11 UDP多线程在线咨询 见代码; 代码案例:接收方 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPa
阅读全文
摘要:UDP聊天实现 UDP聊天 发送方; 接收方; 发送方: import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSoc
阅读全文
摘要:Java基础学习:多线程 总结: 后续补充; 代码总结: import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTa
阅读全文
摘要:Java基础学习:多线程 线程池: 背景:经常创建和销毁,使用量特别大的资源,比如并发情况下的线程,对性能影响很大; 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中;可以避免频繁创建销毁,实现重复利用,类似生活中的公共交通工具; 好处: 提高响应效率(减少了创建新线的时间);
阅读全文
摘要:Java基础学习:多线程26 信号灯法 并发协作模型:生产者/消费者模型:-->信号灯法; 通过标志位进行控制; 代码案例: /** * 测试生产者消费者问题2:信号灯法,标志位解决 */public class TestPC2 { public static void main(String[]
阅读全文
摘要:Java基础学习:多线程25 管程法: 多复习; 代码案例: /** * 测试生产者消费者模型:利用缓冲区解决:管程法 * * 都有哪些对象:生产者,消费者,产品,缓冲区 * */public class TestPC { public static void main(String[] ar
阅读全文
摘要:Java基础学习:多线程24(重点:线程通信) 线程协作: 生产者消费者模式(是一个问题);(不是23种设计模式) 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库产品取走消费; 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待;直
阅读全文
摘要:Java基础学习:多线程23 Lock锁: 从JDK5.0开始,Java提供了更强大的线程同步机制:通过显式定义同步锁对象来实现同步;同步锁使用Lock对象充当; java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具;锁提供了对共享资源的独占访问,
阅读全文
摘要:Java基础学习:多线程22 死锁: 多个线程各自占有一些资源,并且互相等待其他线程占有的资源才能运行,而导致2个或多个线程都在等待对方释放资源,都停止执行的情况,某一个同步块同时拥有“2个以上对象的锁”时,就可能发生“死锁”的问题; 死锁怎么去避免:破解死锁产生的条件就可以避免死锁 产生死锁的4个
阅读全文
摘要:Java基础学习:多线程20 线程同步:Synchronized(同步方法、同步代码块) 同步方法: 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括2种方法: //synchronized 方法
阅读全文
摘要:Java基础学习:多线程19 三大不安全案例: 买火车票; 取钱; List集合; 代码案例1:买火车票 /** * 不安全的买票:多个线程操作同一资源对象; * 1,线程不安全,有负数;(每个线程在自己的工作内存交互,内存控制不当会造成数据不一致) * */public class UnSafe
阅读全文
摘要:Java基础学习:多线程18 什么是线程同步:(多个线程操作同一资源;) 现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如:食堂排队打饭,每个人都想吃饭,最天然的解决办法就是:排队,一个个来; 处理多线程问题时,(并发:)多个线程访问同一个对象,并且某些线程还想修改这个对象;这时我们
阅读全文
摘要:Java基础学习:多线程17 守护(daemon)线程: 线程分为用户线程和守护线程; 虚拟机必须确保用户线程执行完毕;main( ) 虚拟机不用等待守护线程执行完毕;gc( ); 如:后台记录操作日志,监控内存,垃圾回收等待。。。 代码案例: /** * 测试守护线程: * * 上帝守护你:2个
阅读全文
摘要:Java基础学习:多线程16 线程的优先级: Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行; 线程的优先级用数字表示:范围从1 - 10; Thread.MIN_PRIORITY=1; Thread.MAX_PRIORITY=10
阅读全文
摘要:Java基础学习:多线程15 观测线程状态:Thread.State 线程状态,线程可以处于以下几种状态之一: NEW:尚未启动的线程处于此状态; RUNNABLE:在Java虚拟机中执行的线程处于此状态; BLOCKED:被阻塞等待监视器锁定的线程处于此状态; WAITING:正在等待另一个线程执
阅读全文
摘要:Java基础学习:多线程14 线程强制执行:join Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞; 可以想象为插队; 代码案例: /** * 测试join()方法: * 想象插队; */public class TestJoin implements Runnable{ @
阅读全文
摘要:Java基础学习:多线程13 线程礼让:yield 礼让线程,让当前正在执行的线程暂停,但不阻塞; 将线程从运行状态转为就绪状态; 让CPU重新调度,礼让不一定成功,看CPU心情; 代码案例: /** * 测试礼让线程: * 1,礼让不一定成功,看CPU心情 */public class Test
阅读全文
摘要:Java基础学习:多线程12 线程休眠:sleep sleep(时间)指定当前线程阻塞的毫秒数; sleep存在异常InterruptedException; sleep时间达到后线程进入就绪状态; sleep可以模拟网络延时,倒计时等; 每个对象都有一个锁,sleep不会释放锁; 代码案例:模拟网
阅读全文
摘要:用接口创建对象:笔记 接口创建对象: 多态思想; 创建了一个接口对象,就可以用所有实现了该接口的类对象去实例化这个对象; 后续补充;
阅读全文
摘要:Java基础学习:多线程09 静态代理模式: 真实对象和代理对象都要实现同一个接口; 代理对象要代理真实角色; 好处: 代理对象可以做很多真实对象做不了的事情; 真实对象就专注做自己的事情; 代码案例:结婚案例 /** * 静态代理模式:结婚案例 * * 1,真实对象和代理对象都要实现同一个接口;
阅读全文
摘要:Java基础学习:多线程08 实现Callable接口: 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser=Executors.newFixedThreadPool(1); 提交执行:Future<Boole
阅读全文
摘要:Java基础学习:多线程07 经典案例:龟兔赛跑 首先来个赛道距离,然后要离终点越来越近; 判断比赛是否结束; 打印出胜利者; 龟兔赛跑开始; 故事中是乌龟赢了,兔子需要睡觉,所以我们来模拟兔子睡觉; 终于,乌龟赢得比赛; 代码案例: /** * 模拟龟兔赛跑 */public class Rac
阅读全文
摘要:Java基础学习:多线程06 初始并发问题: 多个线程操作同一个资源的情况下,线程不安全了,数据紊乱; 代码案例:抢火车票 /** * 多个线程同时操作同一个对象: * * 买火车票:出现了并发 * * 发现问题:多个线程操作同一个资源的情况下,线程不安全了,数据紊乱; */public clas
阅读全文
摘要:Java基础学习:多线程05 实现Runnable接口:(创建线程的第二种方式) 定义MyRunnable类实现Runnable接口; 重写run()方法,编写线程体; 创建线程对象,调用start()方法; ( 推荐使用Runnable接口,因为Java是单继承的局限性 ) 总结: 继承Threa
阅读全文
摘要:java基础学习:多线程03 线程创建: Thread:继承Thread类(重点) Runnable:实现Runnable接口(重点) Callable:实现Callable接口(了解) Thread类:(要学会查看JDK帮助文档) 自定义线程类继承Thread类; 重写run()方法,编写线程执行
阅读全文
摘要:Java基础学习:多线程02 线程简介: 任务,进程,线程,多线程; 多任务:吃饭+玩手机:大脑一瞬间只做一件事情; 多线程:一条路:多扩几个车道,避免拥挤问题; (多线程:解决道路阻塞,效率太低的问题;目的:提高效率;) 普通方法调用和多线程: 程序,进程,线程: 在操作系统中运行的程序就是进程,
阅读全文
摘要:Java学习:序列化和反序列化 Java序列化:定义 Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列; 该字节序列包括该对象的数据,有关对象的类型的信息和存储在对象中数据的类型; 将序列化对象写入文件后,可以从文件中读取出来,并且对它进行反序列化; 也就是说,对象的类
阅读全文
摘要:Java流(Stream),文件(File),和IO Java.io包几乎包含了所有操作输入,输出需要的类;所有这些流类代表了输入源和输出目标; java.io包中流支持很多种格式:比如:基本类型,对象,本地化字符集等等 一个流可以理解为一个数据的序列;输入流表示从一个源读取数据,输出流表示向一个目
阅读全文
摘要:Java IO流详解:重点 数据流的基本概念: 把不同类型的输入,输出源抽象为:流(Stream) 其中,输入或输出的数据称为数据流(Data Stream),用统一的接口来表示; IO流的分类: 数据流是指一组有顺序的,有起点和终点的字节集合; 按照流的流向,可以分为输入流和输出流;,其中输入,输
阅读全文
摘要:构造方法 常见问题: (1)为什么在实例化子类的对象的时候,会先调用父类的构造方法? 实例化子类时,会调用子类的无参构造方法,子类的无参构造方法第一行有默认代码super();会去实例化父类,实例化父类的时候,会调用父类的无参构造方法; (2)子类在哪里调用了父类的构造方法? 在子类的构造方法的第一
阅读全文
摘要:Java HashMap学习: HashMap定义: hashMap是一个散列表,它存储的内容是键值对映射; hashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度;最多允许一条记录的键为null,不支持线程同步; HashMap是无序的,即不会记录插入的顺序; Ha
阅读全文
摘要:Java HashSet学习: HashSet定义: HashSet基于HashMap来实现的,是一个不允许有重复元素的集合; HashSet允许有null值; HashSet是无序的,即不会记录插入的顺序; HashSet不是线程安全的,如果多个线程尝试同时修改HashSet,则最终结果是不确定的
阅读全文
摘要:Java LinkedList学习: LinkedList定义: 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是再每一个节点里存到下一个节点的地址; 链表可分为单向链表和双向链表; 单向链表包含2个值:当前节点的值和一个指向下一节点的连接;
阅读全文
摘要:Java ArrayList: Java ArrayList: ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制; 我们可以添加或删除元素; ArrayList继承了AbstractList,并实现了List接口; ArrayList类:语法 ArrayLi
阅读全文
摘要:Java集合框架学习:01 Java集合框架: 集合框架被设计成要满足以下几个目标: 该框架必须是高性能的;基本集合(动态数组,链表,树,哈希表)的实现也必须是高校的; 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性; 对一个集合的扩展和适应必须是简单的; Java集合框架主要包括2
阅读全文
摘要:被static修饰的方法不能被子类重写 被static修饰的方法不能被重写,但可以被继承; 被static修饰的方法位静态方法,可以直接使用类名.方法名进行调用,即该方法不属于某个对象属于该类; 静态方法可以被继承,但是不能被重写。如果父类中有一个静态方法,子类也有一个与其方法名,参数类型都一样的方
阅读全文
摘要:枚举(Enumeration)接口: Enumeration接口定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素; 这种传统接口已经被迭代器取代,虽然Enumeration还未被遗弃,但在现在代码中已经很少使用了; 尽管如此:它还是使用在诸如Vector(栈)和Propertie
阅读全文
摘要:String字符串存储 String字符串:存储分析 就是字符串内部维护了一个:字符数组:char[] ; 1.1源码分析:构造方法,用于创建对象; //1,String的构造方法:String();public String() { this.value = "".value;}//2,Stri
阅读全文
摘要:Java常用类学习:Arrays类 Arrays类: Java.util.Arrays类能方便地操作数组,它提供所有的方法都是静态的; 具体有以下功能: 给数组赋值:通过fill()方法; 给数组排序:通过sort()方法; 比较数组:通过equals()方法,比较数组中元素值是否相等; 查找数组元
阅读全文
摘要:Java常用类学习:String类 Java String类: 在Java中:字符串属于对象,Java提供了String类来创建和操作字符串; 创建字符串: String name="haha";//1,在代码中遇到字符串常量时(这里指的是haha),编译器会使用该值创建一个String对象;//
阅读全文
摘要:==和equals的区别 千古不变的:== Java中,"= ="永远在比较2个对象是否是同一个对象(指向同一块内存:就是同一个对象); 比较的就是内存地址; 不确定的equals: 讨论equals,要带上"类"; 其实,Java中的equal作为一个方法,我们是不能脱离了”类“而单独讨论它的;
阅读全文
摘要:String内存地址划分:重要 物理的内存是线性结构,并不存在拥有不同功能的不同区域; 编译器(JVM)为了更高效地处理数据,会用不同的算法把内存分布为各种区域;不同的区域拥有各自的特性; Java中,内存可以分为栈,堆,静态域和常量池等; 不同内存区域的功能和特点: 栈: 存放局部变量(变量名,对
阅读全文
摘要:Java常用类学习:日期时间类(date,SimpleDateFormat) (1)Java日期时间:Date类 java.util包提供了Date类来封装当前的日期和时间; Date类提供了2个构造函数来实例化Date对象; Date构造方法: //1,构造方法1Date();//使用当前日期和时
阅读全文
摘要:Java常用类学习:Rundom类和UUID 生成随机数: 在Java中,通常使用Math.random()或者Random类来获得随机数; 代码案例: /** * Random类:生成随机数 * * */public class RandomDemo01 { public static voi
阅读全文
摘要:Java常用类学习:File类 Java File类: java.io.File类代表系统文件类:文件名,路径名; 该类主要用于文件和目录的创建,文件的查找和文件的删除等; File对象代表磁盘中实际存在的文件和目录; File类的4个构造方法(构造方法是为了初始化对象的) /* 总结:File类
阅读全文
摘要:Java常用类学习:Math类 Java的Math类: 包含了用于执行基本数学运算的属性和方法,如指数,对数,平方根和三角函数; Math类的方法都被定义为static形式,通过Math类可以直接在主函数中调用; 常用方法: Math.abs(); Math.max(int a,int b); Ma
阅读全文
摘要:Java常用类学习:包装类 一般的,当需要使用数字的时候,我们通常使用内置数据类型,如byte,int ,long ,double等 int a=10;float b=12.4f;byte c=0x4a; 然而,在实际开发中,我们经常会遇到需要使用对象,而不是内置数据类型;为了解决这个问题,Jav
阅读全文
摘要:Java常用类学习:Object类(toString方法) toString( )方法: Object toString()方法用于返回对象的字符串表示形式; 语法: object.toString() 参数:无 返回值: 返回对象的字符串表示形式; 默认格式:对象的class名称+@+hashCo
阅读全文
摘要:Java常用类学习:Object类(hashCode方法) hashCode方法: Object hashCode()方法用于获取对象的hash值; 语法: object.hashCode(); 参数: 无 返回值: 返回对象的哈希值,是一个整数,表示在哈希表中的位置; 代码案例: public c
阅读全文
摘要:Java常用类学习:Object类(getClass方法) getClass方法: Object getClass()方法用于获取对象运行时对象的类; 语法: object.getClass(); 参数: 无 返回值: 返回对象的类; 代码案例1: /** *String和ArrayList继承了
阅读全文
摘要:Java常用类学习:Object类(finalize方法) finalize方法: Object finalize()方法用于实例被GC回收时触发的操作; 当GC (垃圾回收器)确定不存在对该对象有其他引用时,对象的垃圾回收器就会调用这个方法; 问题:怎么判断当前实例已经没有其他引用呢? 语法: p
阅读全文
摘要:Java常用类学习:Object类(clone方法new) clone( )方法: Object clone()方法用于创建并返回一个对象的拷贝; clone方法是浅拷贝,只会拷贝引用地址,而不会将对象重新分配内存,相对应的深拷贝则会连引用的对象也重新创建; 语法: object.clone();
阅读全文
摘要:Java常用类学习:Object类(equals方法) equals方法: Object equals()方法用于比较2个对象是否相等; equals()方法比较2个对象,是判断2个对象的引用是否相同;即比较2个对象的内存地址是否相等; 注意:如果子类重写了equals()方法,就需要重写hashC
阅读全文
摘要:java基础学习:异常机制03 自定义异常: 使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常,用户自定义异常类,只需要继承Exception类即可; 在程序中使用自定义异常类,大体可分为以下几个步骤: 创建自定义异常 在方法中通过throw关键字抛出异常
阅读全文
摘要:java基础学习:异常机制02 异常处理机制: 抛出异常 捕获异常 异常处理的5个关键词: try ,catch , finally ,throw ,throws 代码案例1: public class Test { public static void main(String[] args) {
阅读全文
摘要:java基础学习:异常机制01 目录: 什么是异常: 异常体系结构: Java异常处理机制: 处理异常: 自定义异常: 总结: 什么是异常:Exception 异常指程序运行中出现的不期而至的各种状况;如文件找不到,网络链接失败,非法参数等 异常发生在程序运行期间,它影响了正常的程序执行流程; 简单
阅读全文
摘要:Java基础学习:面向对象17 N种内部类: 成员内部类 静态内部类 局部内部类 匿名内部类 内部类: 内部类就是在一个类的内部再定义一个类,比如A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类相对于B类来说就是外部类 成员内部类: 成员内部类可以获取外部类的私有属性; 代码案例:
阅读全文
摘要:Java基础学习:面向对象16 接口的定义与实现: 接口: 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!(约束和实现的分离!) 接口就是规范,定义的是一组规则,体现了现实世界中”如果你是,,,则必须能,,,“的思想,如果你是天使,则必须能飞!如果你是汽车,则必须能
阅读全文
摘要:Java基础学习:面向对象15 抽象类: abstract修饰符可以用来修饰方法也可以修饰类;如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该就是抽象类; 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类; 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的; 抽象方
阅读全文
摘要:Java基础学习:面向对象14 static关键字详解: 最先执行,静态代码块跟类一起加载;只执行1次; 静态导入包; 代码案例1: public class Student { private static int age;//静态的变量//多线程会用到 private double score
阅读全文
摘要:Java基础学习:面向对象13 instanceof 和 类型转换: 判断一个对象是什么类型:instanceof;(判断2个类之间是否存在父子关系) 总结: 1,多态:父类引用指向子类的对象; 2,把子类转换为父类,向上转型(不用强制转型);可能会丢失子类方法 3,把父类转换为子类,向下转型,需要
阅读全文
摘要:Java基础学习:面向对象12 多态: 即同一个方法可以根据发送对象的不同而采用多种不同的行为方式; 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多; 动态编译;可扩展性更强; 多态存在的条件: 有继续关系; 子类重写父类方法 父类引用指向子类对象; 注意: 多态是方法的多态,属性没有
阅读全文
摘要:重写: 重写需要有继承关系,子类重写父类的方法; 重写只跟方法有关系; 特点: 方法名必须相同,参数列表必须相同; 修饰符范围可以扩大,但不能缩小;public>protected>default>private; 抛出的异常:异常的范围可以被缩小,但不能扩大; 重写,子类的方法和父类必须要一致;方
阅读全文
摘要:Java基础学习:面向对象10 Super():代表父类 注意点: super调用父类的构造方法,必须放在构造方法的第一行; super必须出现在子类的方法或者构造方法中; super和this不能同时调用构造方法; this( ):代表当前类 注意点: 代表的对象不同:this代表的是本身调用者;
阅读全文
摘要:Java基础学习:面向对象09 继承: 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模; extends的意思是”扩展“,子类是父类的扩展; Java中类只有单继承,没有多继承!(一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子) 继承是类和类之间的一种关系,除此之外,类和类之间的关系
阅读全文
摘要:Java基础学习:面向对象08 封装:该露的露,该隐藏的隐藏; 我们程序设计要追求”高内聚,低耦合“; 高内聚:就是类的内部数据操作细节自己完成;不允许外部干涉; 低耦合:仅暴露少了的方法给外部使用; 封装:(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为
阅读全文
摘要:Java基础学习:面向对象07 简单小结类和对象: 代码: public class Application { public static void main(String[] args) { /* 笔记:回顾面向对象: 1,类跟对象: (1.1)类是一个模板,是一个抽象;对象是类的一个具体
阅读全文
摘要:Java基础学习:面向对象06 创建对象内存分析: 堆:存放对象; 栈:存放对象的引用以及main()方法; 方法区:存放类,静态方法区(static),static和类一起加载;(方法区也属于堆,只是堆中特殊区域)
阅读全文
摘要:Java基础学习:面向对象05 构造器详解: 构造器必须掌握 构造器代码例子: //java --> class//idea 打开class文件:public class Person { /** * 笔记: * 一个类即使什么都不写,也会存在一个方法,就是构造方法: * * 构造器特点: *
阅读全文
摘要:Java基础学习:面向对象04 类于对象的关系: 类是一种抽象的数据类型:它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物; 对象是抽象概念的具体实例:张三就是人的具体实例; 类和对象的创建: 创建于初始化对象: 使用new关键字创建对象: 使用new关键字创建对象的时候,除了分配内存
阅读全文
摘要:Java基础学习:面向对象02 回顾方法的定义: 方法的定义: 修饰符 返回类型 方法名:注意规范,见名之意 参数列表:参数类型,参数名 (可变长参数)** 异常抛出: 数组下标越界异常:ArrayindexOutofbounds break和return的区别: break:跳出switch;结束
阅读全文
摘要:Java基础学习:面向对象01 面向对象编程: Java的核心思想就是OOP; 目录: 初识面向对象: 方法回顾和加深: 对象的创建和分析: 面向对象三大特性:封装,继承,多态 抽象类和接口:抽象是一种思维 内部类及OOP实战: 面向过程 && 面向对象: 面向过程思想: 步骤清晰简单,第一步做什么
阅读全文
摘要:Java基础学习:数组09(稀疏数组) 稀疏数组: 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组; 稀疏数组的处理方式: 记录数组一共有几行几列,有多少个不同值; 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小了程序的规模; 稀疏数组是一种数据结构;
阅读全文
摘要:Java基础学习:数组09(稀疏数组) 稀疏数组: 当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组; 稀疏数组的处理方式: 记录数组一共有几行几列,有多少个不同值; 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小了程序的规模; 稀疏数组是一种数据结构;
阅读全文
摘要:Java基础学习:数组08(冒泡排序:必须掌握) 冒泡排序: 冒泡排序无疑是最为出名的排序算法之一,总共有8大排序; 冒泡的代码还是相当简单的,2曾循环,外层冒泡轮数,里层依次比较,江湖中人尽皆知; 我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2) 代码例子: public cl
阅读全文
摘要:Java基础学习:数组07 Arrays类详解:是数组的应用; 数组的工具类java.util.Arrays 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作; 查看JDK帮助文档;(中文版) Arrays类中的方法
阅读全文
摘要:Java基础学习:数组06 多维数据: 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每个元素都是一个一维数组; 二维数组: int a[][]=new int[3][5]; 解析: 以上二维数组a可以看成一个3行5列的数组; 思考:多维数组的用途? Java并不会用多维数组
阅读全文
摘要:Java基础学习:数组05 数组的使用: For-Each循环:增强型For循环; 数组作为方法入参: 数组作返回值: 代码练习1: public class ArrayDemo034 { public static void main(String[] args) { int[] arrays=
阅读全文
摘要:Java基础学习:数组04 数组的4个基本特点: 其长度是确定的;数组一旦被创建,它的大小就不可以改变的; 其元素必须是相同类型,不允许出现混合类型; 数组中的元素可以是任何数据类型,包括基本类型和引用类型; 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量;数组本身
阅读全文
摘要:Java基础学习:数组03 三种初始化及内存分析: Java内存分析:Java内存: 堆: 存放new的对象和数组; 可以被所有的线程共享,不会存放别的对象引用; 栈: 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在堆里面的具体地址) 方法区: 可以被所有的线程共
阅读全文
摘要:Java基础学习:数组02 数组的声明和创建: 首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法: //语法dataType[] arrayRefVar;//首选的方法dataType arrayRefVar[];//效果相同,但不推荐 Java语言使用new操作符来创建数
阅读全文
摘要:Java基础学习:数组01 目录: 数组概述: 数组声明创建: 数组使用: 多维数组: Arrays类: 稀疏数组: 数组的定义: 数组是相同数据类型的有序集合; 数组描述的是相同类型的若干个数据(一组数),按照一定的先后顺序排序组合而成; 其中,每一个数据称为一个数组元素,每个数组元素可以通过一个
阅读全文
摘要:计算器: 代码案例:编写一个简易计算器; public class Demo08 { public static void main(String[] args) { /** * 思路: * 1,写4个方法:加,减,乘,除 * 2,利用循环+switch进行用户交互 * 3,传递需要操作的2个数
阅读全文
摘要:递归: A方法调用B方法,我们很容易理解! 递归就是:A方法调用A方法!就是自己调用自己; 能不用递归就不用递归;(如果用:前提是基数比较小) 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为 一个与原问题相似的规则较小的问题来求解;递归策略只需要少量的程序就可描述
阅读全文
摘要:Java基础学习:方法05 可变参数:就是可变长参数 JDK1.5开始,Java支持传递同类型的可变参数给一个方法; 在方法声明中,在指定参数类型后加一个省略号(...); 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明; 代码例子1: public cl
阅读全文
摘要:Java基础学习:方法04 命令行传参: 有时候你希望运行一个程序的时候再传递给它消息,这要靠传递命令行参数给main()函数实现; public class Demo03 { public static void main(String[] args) { for(int i =0;i<args
阅读全文
摘要:Java基础学习:方法03(面试题会问到) 方法的重载: 重载就是在一个类中,有相同的函数名称,但形参不同的函数; 方法的重载规则: 方法名称必须相同; 参数列表必须不同(个数不同,或类型不同,参数排列顺序不同等); 方法的返回值类型可以相同也可以不同; 仅仅返回类型不同不足以成为方法的重载; 代码
阅读全文
摘要:方法的定义: Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段; 方法包含:一个方法头、一个方法体: 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法,定义了该方法的访问类型; 返回值类型:方法可能会返回值;不许要返回值类型的话:用void; 方法名:是方法的实际名称;方法名
阅读全文
摘要:Java基础学习:方法01 什么是方法: Java方法是语句的集合,它们在一起执行一个功能; 方法是解决一类问题的步骤的有序组合; 方法包含于类或对象中; 方法在程序中被创建,在其他地方被引用; 设计方法的原则: 方法的本意是功能块,就是实现某个功能的语句块的集合,我们设计方法的时候,最好保持方法的
阅读全文
摘要:Java基础学习:流程控制05 循环控制练习题: 练习题1:打印三角形:重点看列 public class TestDemo02 { public static void main(String[] args) { //打印三角形 /** * 思路:把三角形差分3部分 * * 1,打印第一部分:
阅读全文
摘要:Java基础学习:流程控制04 break , continue break在任何循环语句的主体部分,均可用break控制循环流程;break用于强制退出循环,不执行循环中剩余的语句(break语句也在swtich中使用) continue与用在循环语句体中,用于终止某次循环过程,即跳出循环体中尚未
阅读全文
摘要:Java基础学习:流程控制03 循环结构: 相同的事情执行多次,就是循环结构; while循环: while循环是最基本的循环,它的结构为: while(布尔表达式){ //循环内容}//1,只要布尔表达式为true,循环就会一直执行下去//2,我们大多数情况是让循环停止下来的,我们需要一个让表达
阅读全文
摘要:Java基础学习:流程控制02 顺序结构: Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序结构一句一句执行; 顺序结构是最简单的算法结构:A--B 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构 选择
阅读全文
摘要:Java基础学习:流程控制01 目录: 用户交互:Scanner: 获取用户的输入; java.util.Scanner; java5的新特性; 语法:Scanner s=new Scanner(System.in); 记得IO流都需要关闭:s.close(); 通过Scanner类的next()与
阅读全文
摘要:Java基础学习:总结1(方便面试复习) 知识点: 注释,标识符,关键字 数据类型 类型转换 变量,常量,作用域 运算符 包机制,JavaDoc 重点: 基础部分的一切知识,后面几乎每天都会用到!
阅读全文
摘要:Java基础学习:JavaDoc JavaDoc命令是用来生成自己API文档的: 参数信息: @author 作者名 @version 版本号 @since 指名需要最早使用的JDK版本 @param 参数名 @return 返回值情况 @throws 异常抛出情况 命令: javadoc -enc
阅读全文
摘要:JDK帮助文档:8 JDK学习手册: 查看地址:JDk8帮助手册 中文版查看地址:JDk8帮助手册
阅读全文
摘要:阿里巴巴开发手册:重要 每天翻看,随手书! 链接地址:阿里巴巴开发手册
阅读全文
摘要:Java基础学习:包机制 为了更好的组织类:Java提供了包机制,用于区别类名的命名空间; 包的本质就是文件夹; 包语句的语法格式为: package xx.xx.xx; 一般利用公司域名倒置作为包名; com.baidu.www 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使
阅读全文
摘要:Java基础学习:运算符3 条件运算符: 偷懒用的; ? : 扩展运算符: 面试题1: public class Demo07 { public static void main(String[] args) { int a =10; int b =20; //a+=b;//a=a+b //a-=
阅读全文
摘要:Java基础学习:运算符2 逻辑运算符: 与:&& 或:|| 非:! 代码案例: public class Demo05 { public static void main(String[] args) { //逻辑运算符 :与 或 非 boolean a=true; boolean b=false
阅读全文
摘要:Java基础学习:运算符 Java语言支持如下运算符: 算术运算符:+ - * / %(取余:也叫模运算) ++ -- 赋值运算符:= 关系运算符:> < >= <= != == instanceof 逻辑运算符:&& || ! 位运算符:& | ^ ~ >> << >>> (了解) 条件运算符:?
阅读全文
摘要:Java基础学习:变量,常量,作用域 变量是什么:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName = [=value] [{,value[=value]}];//数据类型 变量名
阅读全文
摘要:Java基础学习:类型转换 由于Java是强类型语言,所以在进行运算的时候,需要用到类型转换 低 >高 byte short, char --> int-->long --> float-->double (所有的字符的本质都是数字) (小数的优先级高于整数) 运算中,不同类型的数据先转化为同一类型
阅读全文
摘要:数据类型扩展及面试题 数据类型面试题: 例子: /** * 数据类型面试题: * */public class Demo03 { public static void main(String[] args) { //整数拓展 : 进制: 二进制0b 十进制 八进制0 十六进制0x int i =1
阅读全文
摘要:Java基础学习:数据类型 强类型语言: 要求变量的使用要严格符合规定,所有变量都必须先定义后使用; 好处:安全性高; 缺点:速度会慢; 弱类型语言: VB,JS 没有严格区分界限, Java的数据类型分为2大类: 基本类型: 引用类型: 基本数据类型:数值类型,boolean类型 数值类型: 整数
阅读全文
摘要:Java基础学习:标识符 关键字 abstractassertbooleanbreakbyte case catch char calss const continue default do double else enum extends final finally float for goto
阅读全文
摘要:Java基础语法:注释 Java基础: 注释,标识符,关键字 数据类型 类型转换 变量,常量 运算符 包机制,JavaDoc 注释: 注释:解释 注释并不会被执行 书写注释是一个非常好的习惯 Java种的注释包括三种: 单行注释 多行注释 文档注释 例子: public class HelloWo
阅读全文
摘要:IDEA安装 什么是IDE:集成开发环境 IDEA介绍 IDEA官网:https://www.jetbrains.com/ 第一步:打开IDEA: 首次打开IDEA:里面有4个选项: Create New Project:创建一个新的项目 Import Project Open Check out
阅读全文
摘要:Java程序运行机制 编译型语言、解释型语言;(Java既有编译型特点,也有解释型特点) 区别:时机不同 举例子:中国人看的书,美国人要看,就需要去翻译; 2种方式: 整本书翻译完再看:编译型语言 翻译一段,看一段:解释型语言 操作系统:C语言,C++语言,都是编译型语言,要运行都需要编译 网页,服
阅读全文
摘要:helloworld 随便新建一个文件夹,存放我的代码 新建一个Java文件 文件名后缀为.java Hello.java 【注意点】系统可能没有显示文件后缀名,我们需要手动打开 编写代码 public class Hello{ public static void main (String[] a
阅读全文