Java-编译后出现$1.class、$2.class等多个class文件
部署代码的时候,由于自身技术不精和疏忽,导致查询数据没有正常显示,
排除法最后只能是放置部署文件时未包括多出来的$class文件。放上去之后果然好使了,才记录下这个问题。。。
这是因为在我们写的类中存在匿名类
对于接口和抽象类来说, 不能被实例化。
例子:
SysUserBean sysUserBean = this.jdbcTemplate.queryForObject(sql,
new Object[]{loginName,password},
new RowMapper<SysUserBean>(){
public SysUserBean mapRow(ResultSet rs, int rowNum) throws SQLException {
SysUserBean sysUserBean = new SysUserBean();
sysUserBean.setUserId(rs.getInt("User_Id"));
sysUserBean.setCreateUserId(rs.getInt("Create_User_Id"));
sysUserBean.setCreateTime(rs.getTimestamp("Create_Time"));
return sysUserBean;
}
});
当一个类文件编译之后有很多类名字中有$符, 比如Test.class, Test$1.class, Test$2.class, Test$MyTest.class
$后面跟数字的类就是匿名类编译出来的结果.Test$MyTest.class则是内部类MyTest编译后得到的。
在类SysUserDaoImpl中的getLoginUser方法出现new RowMapper<SysUserBean>()类似的情况,
我们在编译类文件SysUserDaoImpl的时候,就会出现$1.class,$2.class的情况
Java-编译后出现$1.class、$2.class等多个class文件的更多相关文章
- java编译后字节码解析
java编译后字节码解析 参考网摘: https://my.oschina.net/indestiny/blog/194260
- Java编译后产生class文件的命名规则
今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总结下 ...
- (转)Java编译后产生class文件的命名规则
今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总 ...
- java文件编译后,出现xx$1.class的原因
java编译后的文件名字带有$接数字的就是匿名内部类的编译结果,接名字的就是内部类的编译结果 例如:TestFrame$1.class是匿名内部类的编译结果, TestFrame$MyJob.clas ...
- JAVA编译结果中有****$1.class的
java编译后的文件名字带有$接数字的就是匿名内部类的编译结果,接名字的就是内部类的编译结果 例如:TestFrame$1.class是匿名内部类的编译结果,TestFrame$MyJob.class ...
- Java中String的intern方法,javap&cfr.jar反编译,javap反编译后二进制指令代码详解,Java8常量池的位置
一个例子 public class TestString{ public static void main(String[] args){ String a = "a"; Stri ...
- kotlin查看编译后的Java代码
java学一下kotlin,由于用的是同样的jvm,那就说明他们的字节码文件应该是一样的,那么,如果我们能看到编译后的文件,那么学的更快了. 操作 1.打开一个.kt文件 2.在Android Stu ...
- Java中数组和集合的foreach操作编译后究竟是啥
今天和同事在关于foreach编译后是for循环还是迭代器有了不同意见,特做了个Demo,了解一下. 是啥自己来看吧! public class Demo { public static void m ...
- Idea中包内中的置文件如何发布到编译后的目录中去
1.问题引入: 运行一个maven+springmvc+hibernate的项目的时候出现了下边的错误: Caused by: java.io.FileNotFoundException: class ...
- java编译期优化
java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程: 1.前端编译:把.java文件转变为.class文件 2.后端编译:把字节码转变为机器码 3.静态提前编译:直接把*.ja ...
随机推荐
- scala 获取当前时间的两种方式
在编写程序时,有时需要获取当前时间,这在记录异常信息.获取程序运行耗时很有用处 方式一: val time1=System.currentTimeMillis() 这种方式获取的是程序运行到此的毫秒数 ...
- 关于具有I2C总线的TEA6320的使用
现在先了解一下TEA6320,TEA6320是一个I2C总线控制音响应用的立体声放大器,,它的I2C协议和音量控制如下: 它的主要代码: void delay1ms(unsigned int Dela ...
- mysql库地址
https://dev.mysql.com/downloads/connector/
- 关于Json.dumos中的ensure_ascii
在使用json,dumps时,当需要输出中文时,需要在后面添加 ensure_ascii = Fasle 因为json.dumps 序列化时,默认对中文使用的是 ascii 编码,添加后才能输出中文 ...
- 不搭建git服务器对git仓库进行局域网内共享多人合作开发项目
有时候在一个临时局域网内没有搭建git服务器,但是又想多人开发一个项目,此时只要每个人电脑安装有git客户端,参考一下方法即可尝试建一个本地化的远程仓库进行多人开发工作. 远程仓库通常只是一个裸仓库( ...
- 北京Uber优步司机奖励政策(3月2日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- TableView滑动时候出现的卡顿现象
分析 UITableView是UIScrollView的子类,因此它可以自动响应滚动事件(一般为上下滚动). 它内部包含0到多个UITableViewCell对象,每个table cell展示各自的 ...
- vue中开发webSocket
先安装 sockjs-client 和 stompjs npm install sockjs-client npm install stompjs <template> <div&g ...
- Python Map 并行
Map是一个酷酷的小东西,也是在Python代码轻松引入并行的关键.对此不熟悉的人会认为map是从函数式语言(如Lisp)借鉴来的东西.map是一个函数 - 将另一个函数映射到一个序列上.例如: ur ...
- protected修饰符详解
protected这个修饰符,各大参考书都会这样说:访问权限为类内,包内和子类,因此在父类中定义的方法和成员变量如果为protected修饰的,是可以在不同包中的子类进行访问的,示例代码如下: pac ...