直接上代码了。 微调按钮加画布画几个圆,再实现监听。。。...package cn.hncu.threadDemo.thread2; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics...; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent...; import java.awt.event.FocusListener; import javax.swing.JFrame; import javax.swing.JLabel; import...private BallsCanvas ball; private JSpinner spinner; public BallsJFrame(){ super("弹弹球
今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏《PONG》,它是史上第一款街机游戏。因此选它作为我这个游戏开发系列的第一期主题。 游戏引擎用的是 Python 的一个游戏库:pgzero。...它是对 pygame 的一个封装,让你不需要写多余的套路代码,只要配置游戏的内容逻辑即可。 我们这个游戏用它来写,一共只需要100行代码。 首先需要安装 python 环境。...def dead(self, side): scores[side] += 1 self.reset() 这样,一个最最简单的,双人版弹球游戏就完成了。...或者,给一侧板增加一点自动追踪的代码:让板的位置随着球的位置移动。这也算是一个游戏AI了。...代码已经开源,获取请在公众号“Crossin的编程教室”后台回复关键词:pong
在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。...Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50%。...可以使用类似如下的代码作判断: ? foreach循环的底层实现原理就是迭代器Iterator,参见Java语法糖1:可变长度参数以及foreach循环原理。...i is not used”、”The import java.util is never used”,那么请删除这些无用的内容 23、程序运行过程中避免使用反射 关于,请参见反射。...反射是Java提供给用户一个很强大的功能,功能强大往往意味着效率不高。
1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块。...; { System.out.println("这里是普通代码块B"); } } 执行结果:这里是普通代码块A 这里是普通代码块B 2.静态代码块与构造代码块 在java...如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行。 ps:1 静态代码块不能存在于任何方法体内。...1"); } { System.out.println("这里是A中的普通代码块2"); } } 执行结果: 这里是静态代码块 这里是普通代码块A 这里是A中的普静态代码块1 这里是A中的普通代码块...1 这里是A中的普通代码块2 这里是普通代码块B 优先级总结:静态代码块>Main()>构造代码块
了都没什么好的解决方法,因为要转换的十进制有300多位,long都装不下,没有直接可用的函数可以拿来用 王总的方法分享之: 思路:转换10进制字符串为大整数 ,大整数放入字节流,每个字节转换为16进制,有空位补零 代码...: import java.math.BigInteger; public static String convertDecimalToUpperHexStr(String decimalStr){...需要注意理解代码意义。...右击任意目录打开右键菜单,打开"tortoisesvn" => "settings"下的设置窗口 b) 找到"icon overlays"的设置项,将"status cache"设置成"none" java...最终发现是因为ssh里选择了将文件作为binary传输造成的,去掉该选项就可以了 org.apache.juli.ClassLoaderLogManager not found JAVA_HOME 没有设置
重构是软件开发过程中一个重要的事情之一,重构与重写的区别: 重构:不是对已有代码的全盘否定,而是对不合理的结构进行调整,合理的模块进行改动;利用更好的方式,写出更好,更有维护性代码。...重写:已有的代码非常复杂混乱,难以修改,重构的时间还不如重新写一个来得快;根据需求另立一个项目,完全重写。 车子脏了就得洗,坏了就得修,报废了就得换。...重构时机 添加功能时 修补错误时 复审代码时 怎样重构 重命名 提炼函数 去除不必要的参数 用对象取代参数 隐藏函数 用常量名替换常量值 用对象取代数组 判断放入循环内,减少循环代码 相同(或及相似)的代码重复出现...减少嵌套的层次,如果有 If 判断,对否定条件提前退出 用设计模式改善代码设计 需求增加,业务变更,需要我们持续重构,持续优化,此恨绵绵无绝期。 ?
update.dismiss() end function 波纹(id,颜色)--用了Pretend大佬的波纹代码 import "android.content.res.ColorStateList"
上篇文章带读者完成了一个3d弹弹球的加强版,读者顺便了解了下灯光和阴影的基本用法,关于相机的位置参数问题,我们在前文只是简单提过,本篇文章,想和读者分享下相机的位置参数问题。...本文是threejs系列的第五篇,阅读前面的文章有助于更好的理解本文: ---- 1.一个简单的案例,理解threejs中几个基本概念 2.三维世界中的坐标系 3.3d弹弹球 4.3d弹弹球(加强版)...在3d弹弹球一文中,我们创建了一个plane平面,平面上有一个球弹来弹去,本文因为只考虑相机问题,因此我将页面模型简化,只留下坐标系和弹弹球,去掉plane,代码如下: var scene = new...关于相机的位置参数,这里主要介绍三个:position、up以及lookAt。...position 首先position表示相机的位置,相机位于不同位置可以看到不同的场景,这个因该很容易理解,例如在上文的案例中,将相机沿x轴水平移动,移动后,就能看到z轴了,添加如下代码: camera.position.x
在Java中关于二进制、八进制、十六进制的辨析 八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数?单从数字的角度来讲都有可能!...八进制 所以在Java中规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。这就是八进制数的表达方法。...但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,编译器并不把它当成一个负数。
OpenGL ES的javax.microedition.khronos.opengles 包定义了平台无关的GL绘图指令,EGL(javax.microedi...
利用目录的形式对开发者进行约束,能够使代码整体结构更加清晰,功能分工更加明确。 我一直“以为”我对分层的感受能力还是很强的,但是回顾上星期写的代码,才让我感觉我对分层的理解一直停留在表面。...大家都知道: 在逻辑上,可能使用概念分层,比如AO,DAO; 在功能上,可能使用模块名进行约束,比如xxx_order、xxx_log; 进一步到代码上,利用目录进行分层,比如xxx_logic、...以我当前参与的项目为例,我需要实现model层(我理解为数据访问层)的逻辑功能,(代码)分层如下: 顶层的Account提供给外部使用,封装了账户的所有操作(流水只是账户变动的附加记录,理论上也是...我一开始是在Account中进行统一分层,但是统一分层会使得局部代码快速膨胀,分支过多难以理解,结构不清晰,最终选择各个方法自行处理状态分支。...对个人来说,实现时的逻辑分层更重要,开发阶段就应该注意逻辑分层的抉择,尽量满足开闭原则,才能写出容易理解、结构清晰、易扩展的代码。
用beanshell生成身份证号码,然后用Java写一个Restful接口,接口判断生成的身份证号是否与txt文件里的身份证号重复,如果重复则返回false,如果不重复,则返回true,并且把新的身份证号存入...关于Restful接口的代码如下: public IdCardResponse idCardResponse (@RequestBody IdCardRequest idCardRequest) throws
Java 使编写、编译和调试编程变得容易。它有助于创建可重用的代码和模块化程序。 Java 是一种基于类、面向对象的编程语言,旨在尽可能减少实现依赖项。...一种为开发人员编写的通用编程语言,只要编写一次就可以在任何地方运行,编译后的 Java 代码可以在所有支持 Java 的平台上运行。...但是随着 Java 编译器将源代码编译为字节码,而 JVM 执行此字节码以机器依赖于操作系统的可执行代码,java 集成了强大的功能。...; } } 输出 Welcome to Java 解释: 1、注释:注释用于解释代码,在 Java 或 C 或 C++ 中以类似的方式使用。...那么,为什么关于“元宇宙”的话题会如井喷式爆发?它与我们现存的时空又有什么关系呢?
关于matlab的代码分析 y=0.14085; u=0; c=0.3144; dc=0.354; hmin=-0.25679; hmax=0.24321; s=0.4150; deltau0=0.5;...a0=0.404; 这段代码定义一些参数,包括常数y、u、c、dc、hmin、hmax、s、deltau0和a0,并初始化它们的值。...syms z b; 这句代码使用MATLAB中的符号变量函数syms定义符号变量z和b,以便在后续计算中使用。...b1=int(f1,z,hmin,b-dc); b2=int(f2,z,b-dc,hmax); 这两行代码使用MATLAB中的积分函数int来计算Fn的分母部分的积分值,其中b1计算界面上方的Fn分母部分的积分值...Fn=((9.577*s*(c^6))/y)*(b1+b2); 这句代码通过将Fn的分子部分与分母部分相乘并除以y得到Fn的表达式。
有一个比较经典的例子,如果你能说出此题的结果,说明你是java内存解析能手: public class Test1 { public static class ParamTest { // 初始值为
Integer.class.getClassLoader().getResource(“*********”);这一句抛出空指针异常,定位为getClassLoader()返回null,查了一下jdk的文档,原来这里还有一个陷阱: jdk中关于...上面的英文可以用下面的话来理解: 装载类的过程非常简单:查找类所在位置,并将找到的Java类的字节码装入内存,生成对应的Class对象。...Java的类装载器专门用来实现这样的过程,JVM并不止有一个类装载器,事实上,如果你愿意的话,你可以让JVM拥有无数个类装载器,当然这除了测试JVM外,我想不出还有其他的用途。...为什么说它神龙见首不见尾呢,因为你根本无法在Java代码中抓住哪怕是它的一点点的尾巴,尽管你能时时刻刻体会到它的存在,因为java的运行环境所需要的所有类库,都由它来装载,而它本身是C++写的程序,可以独立运行...classloader的话,有些jdk的实现是会返回一个null的,比如说我用 new Object().getClass().getClassLoader()的话,会返回一个null,这样的话上面的代码就会出现
问题出处:公司的一个p2p产品倒计时的一个功能 没有发现问题之前一直用java.sql.Date保存记录的创建时间值,后来在计算时间差的时候老是不对劲,后来才发现java.sql.Date根本就不保存时分秒...,SimpleDateFormat format打印出来的就是 yyyy:mm:dd: 00:00:00,终于真相大白了,这个问题困扰了我两天时间,最后将类型换成了java.sql.Timestampl
适合所有”精通Java”其实还不那么自信的人阅读。 不断更新中,请尽量访问博客原文。 List ArrayList 以数组实现。节约空间,但数组有容量限制。...当Entry数量达到桶数量的75%时(很多文章说使用的桶数量达到了75%,但看代码不是),会成倍扩容桶数组,并重新分配所有原来的Entry,所以这里也最好有个预估值。...补充 关于null,HashMap和LinkedHashMap是随意的,TreeMap没有设置Comparator时key不能为null;ConcurrentHashMap在JDK7里value不能为null...Jetty就自己封了一个,Guava则直接用java.util.Collections.newSetFromMap(new ConcurrentHashMap()) 实现。
Collections.sort(List)方法就是降序; ---- 代码示例: 第一种: 对多个关键域,顺序比较 package com.sta; public class Student implements...如果当前类某个作用域的参数类型为引用类型 1:此引用类型可以考虑实现Comparable接口 ; 2:亦可构造一个Comparator 比较器. ---- 如下: package com.sta; import java.util.Comparator...; import java.util.Date; public class Student implements Comparable { private int age;...return this.name.compareTo(student.name); } } Student 作用域之一(Info): package com.sta; import java.util.Date
静态代码块 9. final 关键字 10. instanceof 关键字 1....静态代码块 最先执行(且先于静态方法),static { ... } 只会被执行一次,经常用来类属性初始化 9. final 关键字 final 标记的类,不能被继承 final 标记的方法,不能被子类覆写
领取专属 10元无门槛券
手把手带您无忧上云