public class SelfPrint {      public static void main(String args[]) {          char s = 34;          String a = "public class SelfPrint {public static void main(String args[]) {char s = 34; String a = %s;System.out.printf(a, s+a+s);}}//一段打印自身的代码&quo…
Java打印整数的二进制表示(代码与解析) int a=-99; for(int i=0;i<32;i++){ int t=(a & 0x80000000>>>i)>>>(31-i); System.out.print(t); } 拆分一下这段代码,要理解这个移位输出的问题还需要理解的以下内容:* 0x80000000是数的十六进制表示,转成二进制表示为10000000000000000000000000000000* 运算的优先级,移位运算高于逻辑运算,…
Java 打印金字塔 or 打印带数字的金字塔 (Java 学习中的小记录) 作者:王可利(Star·星星) 效果图: 代码如下: class Star8 { public static void main(String[] args) { /* 空格 * 1 2*i-1 3 4-1 4-i *** 3 2 4-2 ***** 5 1 4-3 ******* 7 0 4-4 */ //第一层循环控制的是行数 for(int i = 1;i<=5;i++){ //打印空格数 for(int j=5…
这两天在研究Java调用打印机打印PDF文件的方法,学到了不少东西,特别来记录一下. 关于Java打印网上最多的而且也是Java正统的打印方法就是使用PrintService,一套比較标准的打印代码例如以下: public class PrintDemo { public static void main(String[] args) { JFileChooser fileChooser = new JFileChooser(); // 创建打印作业 int state = fileChoose…
在上一篇java动态编译 (java在线执行代码后端实现原理(一))文章中实现了 字符串编译成字节码,然后通过反射来运行代码的demo.这一篇文章提供一个如何防止死循环的代码占用cpu的问题. 思路:由于CustomStringJavaCompiler中重定向了System.out的输出位置,肯定不能有多线程并发的情况,否则会照成System.out输出内容错乱,所以我用了 Executors.newFixedThreadPool(1), 通过Future模式来获取结果,我自定义了一个Custo…
需求:要实现一个web网页中输入java代码,然后能知道编译结果以及执行结果 类似于菜鸟java在线工具的效果:https://c.runoob.com/compile/10 刚开始从什么概念都没有到最后封装成一个完整的工具类,中间查阅了很多资料才了解其中的概念以及流程,参考文献在文章最后面. 重点需要了解的概念是: JavaFileManage.JavaFileObject 推荐先看这篇文章:http://blog.onlycatch.com/post/java-Compiler-API 这里…
JNA定义: JNA:java Native Access,是SUN公司开发的基于JNI的框架.JNI使得Java可以调用原生的c或者c++代码. JNA与JNI(Java Native Interface)的差别: 性能:JNA在性能上不如JNI.由于JNA是在JNI的基础上封装了一层. 移植性:JNA的可移植性要好于JNI,由于开发人员不须要再编写作为代理的动态链接库. 使用:JNI使用native关键字,使用一个个java方法映射原生方法,利用System.loadLibrary:JNA使…
利用Java Agent进行代码植入 Java Agent 又叫做 Java 探针,是在 JDK1.5 引入的一种可以动态修改 Java 字节码的技术.可以把javaagent理解成一种代码注入的方式.但是这种注入比起spring的aop更加的优美. Java agent的使用方式有两种: 实现premain方法,在JVM启动前加载. 实现agentmain方法,在JVM启动后加载. premain和agentmain函数声明如下,方法名相同情况下,拥有Instrumentation inst参…
具体学习推荐:正则表达式30分钟入门教程 .         除换行符以外的任意字符\w      word,正常字符,可以当做变量名的,字母.数字.下划线.汉字\s        space,空白符\d       digital,数字\b       begin,单词的开始和结束^          匹配字符串的开始(整个字符串)$          匹配字符串的结束(整个字符串)?        重复0次或1次*          重复任意次+          重复至少一次{x}    …
java俄罗斯方块游戏代码: package com; import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; public class Eluos extends…