根据我的理解,混淆java Web应用程序只会让你的应用程序更难阅读,但仍然可以进行逆向工程.
我的目标只是让它非常难以阅读,而且无法反编译和运行(不确定是否可能,我想它仍然只会运行丑陋的变量名称?)
如此可变的名称,如:
String username ="asdfsadf";
会变成
字符串aw34Asdf234jkasdjl_asdf2343 ="asdfsdaf";
它是否正确:
真的我的目标是让别人不能只反编译和发布代码.
只是玩java试图学习它等等.
到目前为止,这是我的代码,使用HtmlUnit.
package hsspider;
import com.gargoylesoftware.htmlunit.WebClient;
/**
* @author
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("starting ");
Spider spider = new Spider();
spider.Test();
}
}
package hsspider;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
/**
* @author
*/
public class Spider {
public void Test() throws Exception
{
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://www.google.com");
System.out.println(page.getTitleText());
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Netbeans.
我似乎无法弄清楚问题是什么,为什么不编译?
错误:
C:\Users\mrblah\.netbeans\6.8\var\cache\executor-snippets\run.xml:45:
Cancelled by user. …
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的字符串:
http://www.example.com/index.do/blah/1_44/asdf/asdf/asdf
http://www.example.com/index.do/blah/1_44_2342/asdf/asdf/asdf
Run Code Online (Sandbox Code Playgroud)
我需要从上面获取值44,当然'44'可以是任何数字.数字'44'始终以a为前缀_
,之后可能是另一个_
或/
.
我不知道java正则表达式API,所以作为指导将不胜感激!
我的代码是这样的:
for(SomeObject so : someObjects)
{
Blah b = so;
NewObject n = dao.GetNO(b.23);
}
Run Code Online (Sandbox Code Playgroud)
即它在每次迭代时在for循环内创建一个新变量.
这可能是内存不足问题的原因吗?
Netbeans报告的错误:
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:133)
at java.lang.StringCoding.decode(StringCoding.java:173)
at java.lang.String.<init>(String.java:443)
at java.lang.String.<init>(String.java:515)
at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString(WebResponseImpl.java:215)
at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString(WebResponseImpl.java:205)
Run Code Online (Sandbox Code Playgroud)
Upate 这是一个java控制台应用程序,整个应用程序基本上都在forloop中运行.
在jdbc属性中设置URL时,例如:
jdbc:derby://localhost:1527/vehicle;create=true
Run Code Online (Sandbox Code Playgroud)
这是否意味着所有数据都是通过特定端口上的HTTP发送的?(看起来很明显)
在你的服务层,假设你有一个方法做XX,这是你如何引用你的Dao类?
public class SomeServiceImpl implements SomeService
public void DoSomething(int someThingId){
UserDao userDao = this.daoFactory().GetUserDao();
SalesDao salesDao = this.daoFactory().GetSalesDao();
..
..
..
}
Run Code Online (Sandbox Code Playgroud)
它有点多做这个,并希望是否有一个更容易更优雅的方式?
netbeans或eclipse会为我安装mysql作为插件吗?(最好是netbeans)
(在Windows机器上)