哪吒人生信条:如果你所学的货色 处于喜爱 才会有弱小的能源撑持。
把你的前端拿捏得死死的,每天学习得爽爽的,关注这个不一样的程序员,如果你所学的货色 处于喜爱 才会有弱小的能源撑持。感激不负每一份酷爱前端的程序员,不管前端技能有多奇葩,欢送关注加我入群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