「java消灭代码」java屏蔽代码
今天给各位分享java消灭代码的知识,其中也会对java屏蔽代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用java编写消灭星星,怎么做10乘以10的格子,求大神帮忙。
- 2、Java实验,代码怎么写?
- 3、JAVA编程
- 4、【转】如何保护Java代码
- 5、java中创建对象的的两种方式具体解释,一个是new一个是调用Class类的newinstance方法?
- 6、java平台为何会突然消灭
用java编写消灭星星,怎么做10乘以10的格子,求大神帮忙。
这个跟俄罗斯方块有点像,也是要画背景格子,所有的方块是在格子上移动。
首先可以创建一个格子的类如(cell),属性有长和宽,
设置每个格子的长和宽(cell_size),假设都为1
设置常量ROWS 行数为10,常量COLS列数为10,
然后画方块就行了
这是我俄罗斯方块画格子的代码,20行10列,供参考
/*首先要创建一个Cell类,属性有row和col*/
public static final int ROWS = 20;
public static final int COLS = 10;
public static final int CELL_SIZE = 26;
private Cell[][] wall=new Cell[ROWS][COLS];
/** 封装了绘制墙算法 */
private void paintWall(Graphics g){
for(int row=0; rowwall.length; row++){
for(int col=0; colwall[row].length; col++){
int x = col*CELL_SIZE;
int y = row*CELL_SIZE;
//row=0 1 2 ... 19
//col=0 1 2 ... 9
//cell 引用墙上的每个格子
Cell cell = wall[row][col];
if(cell==null){
g.drawRect(x, y, CELL_SIZE, CELL_SIZE);
}else{
g.drawImage(
cell.getImage(),x,y,null);
}
}
}
}
Java实验,代码怎么写?
Shape.java接口代码
public interface Shape {
public static final double PI = 3.14d;
public double area();
}
Circle.java圆类代码
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return PI * this.radius * this.radius;
}
public double perimeter() {
return 2 * PI * this.radius;
}
}
Cylinder.java圆柱体类代码
public class Cylinder extends Circle {
private double height;
public Cylinder(double radius, double height) {
super(radius);
this.height = height;
}
public double area() {
return 2 * super.area() + super.perimeter() * this.height;
}
public double volume() {
return super.area() * this.height;
}
}
X5_3_6.java主类代码
public class X5_3_6 {
public static void main(String[] args) {
Circle cir1 = new Circle(5);
System.out.println("圆的面积为:" + cir1.area());
System.out.println("圆的周长为:" + cir1.perimeter());
Cylinder cy1 = new Cylinder(10, 15);
System.out.println("圆柱体的表面积为:" + cy1.area());
System.out.println("圆柱体的体积为:" + cy1.volume());
}
}
上面是我写的代码,下图是执行结果,麻烦看一下,是否可以。
JAVA编程
/*
* Question9.java
*
* Created on 2007年1月18日, 下午9:04
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package know;
/**
*
* @author Administrator
*/
public class Question9 {
public static void main(String args[]) {
StringBuffer str=new StringBuffer("ABCDEFG");
//【代码1】 // 向str尾加“123456789”。
str.append("123456789");
System.out.println(str);
//【代码2】 // 将str中的字符 ‘B’替换为‘b’。
str.replace(1,2,"b");
System.out.println(str);
//【代码3】 // 在str中的“123456789”前面插入“Game”。
str.insert(7,"Game");
System.out.println(str);
int index= str.indexOf("1"); // 获取str中首次出现“1”的位置。
//【代码5】 // 删除str中“1234”。
str.delete(11,15);
System.out.println(str);
int n = str.length();//【代码6】 // 获取str中字符个数。
//System.out.println(n);
//【代码7】 // 将str中“789”替换为“七八九”。
str.replace(13,16,"七八九");
System.out.println(str);
/*
StringBuffer otherStr = new StringBuffer("we love you");
int start = 0;
char c = '\0';
while(start!=-1) {
if(start!=0) {
start=start+1;
}
c=otherStr.charAt(start);
if(Character.isLowerCase(c)) {
c=Character.toUpperCase(c);
otherStr.setCharAt(start,c);
}
start=otherStr.indexOf(" ",start); //查找下一个空格。
}
System.out.println(otherStr);
*/
StringBuffer yourStr=new StringBuffer("i Love THIS GaME");
//【代码8】 // 将yourStr中的大写字符替换为对应的小写字符,
// 小写字符替换为对应的大写字符
char h = '\0';
for(int i = 0;i yourStr.length(); i++){
h = yourStr.charAt(i);
if(Character.isLowerCase(h))
h = Character.toUpperCase(h) ;
else
h = Character.toLowerCase(h);
yourStr.setCharAt(i,h);
}
System.out.println(yourStr);
}
}
【转】如何保护Java代码
以下从技术角度就常见的保护措施 和常用工具来看看如何有效保护java代码:1. 将java包装成exe 特点:将jar包装成可执行文件,便于使用,但对java程序没有任何保护。不要以为生成了exe就和普通可执行文件效果一样了。这些包装成exe的程序运行时都会将jar文件释放到临时目录,很容易获取。常用的工具有exe4j、jsmooth、NativeJ等等。jsmooth生成的exe运行时临时目录在exe所在目录中或是用户临时目录 中;exe4j生成的exe运行时临时目录在用户临时目录中;NativeJ生成的exe直接用winrar打开,然后用zip格式修复成一个jar文件,就得到了原文件。如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。2. java混淆器特点:使用一种或多种处理方式将class文件、java源代码进行混淆处理后生成新的class,使混淆后的代码不易被反编译,而反编译后的代码难以阅 读和理解。这类混淆器工具很多,而且也很有成效。缺点:虽然混淆的代码反编译后不易读懂,但对于有经验的人或是多花些时间,还是能找到或计算出你代码中隐藏的敏感内容,而且在很多应用中不是全部代码都能混淆的,往往一些关键的库、类名、方法名、变量名等因使用要求的限制反而还不能混淆。3. 隔离java程序到服务端特点:把java程序放到服务端,让用户不能访问到class文件和相关配套文件,客户端只通过接口访问。这种方式在客户/服务模式的应用中能较好地保护java代码。缺点是:必须是客户/服务模式,这种特点限制了此种方式的使用范围;客户端因为逻辑的暴露始终是较为薄弱的环节,所以访问接口时一般都需要安全性认证。4. java加密保护特点:自定义ClassLoader,将class文件和相关文件加密,运行时由此ClassLoader解密相关文件并装载类,要起到保护作用必须自定 义本地代码执行器将自定义ClassLoader和加密解密的相关类和配套文件也保护起来。此种方式能很有效地保护java代码。缺点:可以通过替换JRE包中与类装载相关的java类或虚拟机动态库截获java字节码。 jar2exe属于这类工具。5. 提前编译技术(AOT) 特点:将java代码静态编译成本地机器码,脱离通用JRE。此种方式能够非常有效地保护java代码,且程序启动比通用JVM快一点。具有代表性的是GNU的gcj,可以做到对java代码完全提前编译,但gcj存在诸多局限性,如:对JRE 5不能完整支持、不支持JRE 6及以后的版本。由于java平台的复杂性,做到能及时支持最新java版本和JRE的完全提前编译是非常困难的,所以这类工具往往采取灵活方式,该用即时编译的地方还是 要用,成为提前编译和即时编译的混合体。缺点:由于与通用JRE的差异和java运用中的复杂性,并非java程序中的所有jar都能得到完全的保护;只能使用此种工具提供的一个运行环境,如果工具更新滞后或你需要特定版本的JRE,有可能得不到此种工具的支持。 Excelsior JET属于这类工具。6. 使用jni方式保护特点:将敏感的方法和数据通过jni方式处理。此种方式和“隔离java程序到服务端”有些类似,可以看作把需要保护的代码和数据“隔离”到动态库中,不同的是可以在单机程序中运用。缺点和上述“隔离java程序到服务端”类似。7. 不脱离JRE的综合方式保护特点:非提前编译,不脱离JRE,采用多种软保护方式,从多方面防止java程序被窃取。此种方式由于采取了多种保护措施,比如自定义执行器和装载器、加密、JNI、安全性检测、生成可执行文件等等,使保护力度大大增强,同样能够非常有效地保护java代码。缺点:由于jar文件存在方式的改变和java运用中的复杂性,并非java程序中的所有jar都能得到完全的保护;很有可能并不支持所有的JRE版本。 JXMaker属于此类工具。8. 用加密锁硬件保护特点:使用与硬件相关的专用程序将java虚拟机启动程序加壳,将虚拟机配套文件和java程序加密,启动的是加壳程序,由加壳程序建立一个与硬件相关的 受保护的运行环境,为了加强安全性可以和加密锁内植入的程序互动。此种方式与以上“不脱离JRE的综合方式保护”相似,只是使用了专用硬件设备,也能很好地保护java代码。缺点:有人认为加密锁用户使用上不太方便,且每个安装需要附带一个。从以上描述中我们可以看出:1. 各种保护方式都有其优缺点,应根据实际选用2. 要更好地保护java代码应该使用综合的保护措施3. 单机环境中要真正有效保护java代码,必须要有本地代码程序配合当然,安全都是相对的,一方面看你的保护措施和使用的工具能达到的程度,一方面看黑客的意愿和能力,不能只从技术上保护知识产权。总之,在java 代码保护方面可以采取各种可能的方式,不可拘泥于那些条条框框。
java中创建对象的的两种方式具体解释,一个是new一个是调用Class类的newinstance方法?
1、new
使用java的关键字new来创建对象实例。构造函数链中的所有构造函数都会被自动调用。
Java代码:
CreateInstance instance = new CreateInstance ();
2、clone
构造函数不被自动调用。
Java代码:
public class CreateInstance implements Cloneable{
public CreateInstance getInstance() throws CloneNotSupportedException{
return (CreateInstance) this.clone();
}
}
如果需要复制上面的那个obj指向的对象实例时,调用new CreateInstance().getInstance()方法就ok了。
JDK中Object# clone()方法的原型是:protected native Object clone() throws CloneNotSupportedException; 方法修饰符是protected,而不是public。
这种访问的不可见性使得对Object#clone()方法不可见。所以,必需重写Object的clone方法后才能使用。
Java代码:
public class CreateInstance implements Cloneable{
public CreateInstance clone throws CloneNotSupportedException{
return (CreateInstance) super.clone();
}
}
值得注意的是 :如果需要使用clone方法,必需实现java.lang.Cloneable接口,否则会抛出java.lang.CloneNotSupportedException。
另外clone方法所做的的操作是直接复制字段的内容,换句话说,这个操作并不管该字段对应的对象实例内容。
像这样字段对字段的拷贝(field to field copy)就成为"浅拷贝",clone方法所做的正是"浅拷贝"。
3、newInstance
利用java.lang.Class类的newInstance方法,则可根据Class对象的实例,建立该Class所表示的类的对象实例。
创建CreateInstace类的对象实例可以使用下面的语句(这样需要一个已经存在的对象实例)。
CreateInstance instance = CreateInstance.class.newInstance();
或者使用下面的语句(只需要存在相应的.class文件即可)
CreateInstance instance = (CreateInstance)Class.forname("com.create.instance.CreateInstance").newInstance();
如果包下不存在相应.class文件,则会抛出ClassNotFoundException。
注意 :newInstance创建对象实例的时候会调用无参的构造函数,所以必需确保类中有无参数的构造函数,否则将会抛出java.lang.InstantiationException异常。
无法进行实例化。
java平台为何会突然消灭
java平台没有消失 android就是java的在手机上的一个翻版
而且在javase 9中开发公司已经决定 重新对java进行修改 让java手机应用重新振作起来
关于java消灭代码和java屏蔽代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。