哪吒人生信条:如果你所学的货色 处于喜爱 才会有弱小的能源撑持。
把你的前端拿捏得死死的,每天学习得爽爽的,关注这个不一样的程序员,如果你所学的货色 处于喜爱 才会有弱小的能源撑持。
感激不负每一份酷爱前端的程序员,不管前端技能有多奇葩,欢送关注加我入群 vx:xiaoda0423
前言
心愿能够通过这篇文章,可能给你失去帮忙。(感激一键三连)
内存剖析,底层算法,JDK 源码剖析(
idea
版本和jdk13
)
高级学习方向:Java
入门,idea
开发环境应用(idea,eclipse
),面向对象根底和面向对象设计,Java
虚拟机内存机制,内存剖析全面了解面向对象,内存剖析全面了解编程语言,面向对象深刻,数组和数据存储,异样机制和可视化 bug
追踪,罕用类和 jdk
底层源码剖析,容器的应用,io
流技术,网络编程,多线程和并发编程,函数式编程。
程序员职业倒退:技术总监,资深码农,架构师,项目经理,ceo
等。
常见的语言:c,java,python,c++,c#,javascript,php,swift,kotlin
等。
把握:代码能力,面向对象分析能力,内存底层和源码剖析习惯,调试和查错能力。
javase java
规范版本, ee
企业级开发必学。
程序是事实逻辑的表白,程序的实质三个因素,变量,if
语句,循环语句。思考因素(变量),判断条件,无限极。
表格思维去了解数据库存储数据
如何了解 Java 中的类和对象?- 表格思维
- 表构造对应:类
- 一行数据对应:对象
xml
文档:表构造对应:文档标签定义;一行数据对应:指定元素。
争对公司:理解该公司根本状况,偏重哪款技术,钻研该公司产品。
java
版本
JavaSE(Java Standard Edition)
:标准版,定位在集体计算机上的利用。JavaEE(Java Enterprise Edition)
:企业版,定位在服务器端的利用。
Java 的个性和劣势
Java 程序的运行机制
计算机高级语言的类型次要有 编译型和解释型 两种,而 Java 语言是 两种类型的联合。
Java
首先利用文本编辑器编写 Java
源程序,源文件的后缀名为.java
;再利用编译器(javac
)将源程序编译成字节码文件,字节码文件的后缀名为.class
;最初利用虚拟机(解释器,java
)解释执行。
画了个图:
JVM、JRE 和 JDK
JVM (Java Virtual Machine)
就是一个虚构的用于执行 bytecode
字节码的 ” 虚构计算机 ”。它蕴含了:指令集,寄存器集,构造栈,垃圾收集堆,内存区域。JVM
负责 java
字节码解释运行,边解释边运行,这样速度就会受到肯定的影响。
不同的操作系统有不同的虚拟机,java
虚拟机机制屏蔽了底层运行平台的差异,实现了“一次编译,随处运行”。java
虚拟机是实现跨平台的外围机制。
画了个图:
Java Development Kit(JDK)
蕴含:JRE
虚拟机,库函数,运行 Java
应用程序所必须的文件。
Java Runtime Environment(JRE)
蕴含:Java 虚拟机
,库函数,运行Java
应用程序所必须的文件。
JVM (Java Virtual Machine)
就是一个虚构的用于执行 bytecode
字节码的 ” 虚构计算机 ”。
JDK、JRE 和 JVM
的关系如图:
如果只是运行
Java
程序,只须要JRE
就能够,JRE
通常十分小,其中包含了JVM
;如果要开发Java
程序,就须要装置JDK
。
JDK 下载和装置
下载地址
现新:
点击”Accept License Agreement”
,而后抉择对应的版本,下载即可
再进入 JDK 的装置目录
bin
目录是存储一些可执行的二进制文件lib
存储相干jar
包src.zip
是JDK
相干JAVA
类的源代码
环境变量 Path 的配置
C:\Program Files\Java\jdk-15.0.1
右键计算机,属性,高级零碎设置
肯定是英文分号而不是中文分号
测试 JDK 装置胜利
第一个 Java
程序
应用记事本开发第一个 Java 程序
public class helloWorld{public static void main(String[] args){System.out.println("Hello Java! 我的掘金魔王哪吒作者");
}
}
保留在 d 盘,文件名 helloWorld.java
,关上命令行窗口,进入java
文件所在目录,执行javac helloWorld.java
,生成 class 文件。
解释并运行阶段:java helloWorld
,运行编译生成的 helloWorld.class 文件,输入后果。
常见谬误
- path 变量配置谬误导致没有找到 javac 命令
- 可能是操作系统显示设置的问题,暗藏了文件的扩展名
- 找不到 main 办法,应该是 main 办法书写有误
罕用 DOS 命令
cd
目录门路,进入一个目录cd ...
,进入父目录dir
,查看本目录下的文件和子目录列表cls
,革除屏幕命令Tab
键,主动补齐命令
罕用 Java 开发工具
- clipse 官网网址
- IntelliJ IDE 官网网址:
- NetBeans 官网网址
下载和装置 eclipse
下载地址
抉择 Eclipse IDE for Java Developers
,依据本人装置的JDK
,下载实现后,间接解压。进入目录,双击eclipse.exe
即可应用。
工作空间指 Java 我的项目存储的目录,个别采纳默认工作空间目录即可。
在 eclipse 中创立 Java 我的项目,抉择 new,Java Project,开始新建 Java 我的项目。
应用 eclipse 开发和运行 Java 程序
在 src 目录上右键单击,建设一个 Java 类。
Java 我的项目的 src 目录和 bin 目录
- src 用于寄存源代码
- bin 用于寄存生成的 class 文件
桌球小游戏
ball.png
desk.jpg
import java.awt.*;
import javax.swing.*;
public class BallGame extends JFrame {Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
double x=100; // 小球的横坐标
double y=100; // 小球的纵坐标
boolean right = true; // 方向
// 画窗口的办法
public void paint(Graphics g){System.out.println("窗口被画了一次!");
g.drawImage(desk, 0, 0, null);
g.drawImage(ball, (int)x, (int)y, null);
if(right){x = x + 10;}else{x = x - 10;}
if(x>856-40-30){ //856 是窗口宽度,40 是桌子边框的宽度,30 是小球的直径
right = false;
}
if(x<40){ //40 是桌子边框的宽度
right = true;
}
}
// 窗口加载
void launchFrame(){setSize(856,500);
setLocation(50,50);
setVisible(true);
// 重画窗口, 每秒画 25 次
while(true){repaint();
try{Thread.sleep(40); //40ms, 1 秒 =1000 毫秒. 大概一秒画 25 次窗口
}catch(Exception e){e.printStackTrace();
}
}
}
//main 办法是程序执行的入口
public static void main(String[] args){System.out.println("掘金:魔王哪吒");
BallGame game = new BallGame();
game.launchFrame();}
}
效果图:
import java.awt.*;
import javax.swing.*;
public class BallGame2 extends JFrame {Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
double x=100; // 小球的横坐标
double y=100; // 小球的纵坐标
double degree = 3.14/3; // 弧度。此处就是:60 度
// 画窗口的办法
public void paint(Graphics g){System.out.println("窗口被画了一次!");
g.drawImage(desk, 0, 0, null);
g.drawImage(ball,(int)x, (int)y, null);
x = x+ 10*Math.cos(degree);
y = y +10*Math.sin(degree);
// 碰到高低边界
if(y>500-40-30||y<40+40){//500 是窗口高度;40 是桌子边框,30 是球直径;最初一个 40 是标题栏的高度
degree = -degree;
}
// 碰到左右边界
if(x<40||x>856-40-30){degree = 3.14 - degree;}
}
// 窗口加载
void launchFrame(){setSize(856,500);
setLocation(50,50);
setVisible(true);
// 重画窗口, 每秒画 25 次
while(true){repaint();
try{Thread.sleep(40); //40ms, 1 秒 =1000 毫秒. 大概一秒画 25 次窗口
}catch(Exception e){e.printStackTrace();
}
}
}
//main 办法是程序执行的入口
public static void main(String[] args){System.out.println("掘金:魔王哪吒");
BallGame2 game = new BallGame2();
game.launchFrame();}
}
效果图如下:
点赞、珍藏和评论
我是 Jeskson(达达前端),感激各位人才的:点赞、珍藏和评论,咱们下期见!(如本文内容有中央解说有误,欢送指出☞谢谢,一起学习了)
咱们下期见!
文章继续更新,本文 http://www.dadaqianduan.cn/#/ 曾经收录
github 收录,欢送 Star:https://github.com/webVueBlog/WebFamily