
正文
java优秀代码分析 java优秀代码案例
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求大神帮忙解读一段Java的代码,尽量详细!!!
//从请求中获取到的是gb2312编码的字符串
String gbStr = request.getParameter("参数名");
//byte[] 形式的内容
byte[] bytes = gbStr.getBytes("gb2312");
//UTF-8编码的字符串
String utfStr = new String(bytes,"UTF-8");
//GB2312编码的字符串
String newGbStr = new String(bytes,"GB2312");
1.首先java优秀代码分析你得到java优秀代码分析了一个字符串,java优秀代码分析你要知道它是什么编码表示的,像你上面配置的请求过来的字符串就是用gb2312编码表示的java优秀代码分析;
2.getBytes("编码") 得到的是一个 byte[] ,这是一个字节形式的内容,是底层表示,我们看到的汉字是 字节流加上指定编码集 才能表现出来的。所以转码什么的,都是
String newStr = new String(str.getBytes("str编码"),"newStr编码");
3.你上面DataFormate类的两个转码处理应该是不对的
相关问答
Q1: Java代码如何优化?从哪些方面入手?分析?
1)尽量指定类、方法的final修饰符。带有final修饰符的类是不可派生的,Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,此举能够使性能平均提高50%。
2)尽量重用对象。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此生成过多的对象将会给程序的性能带来很大的影响。
3)尽可能使用局部变量。调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中速度较快,其他变量,如静态变量、实例变量等,都在堆中创建速度较慢。
4)慎用异常。异常对性能不利,只要有异常被抛出,Java虚拟机就必须调整调用堆栈,因为在处理过程中创建了一个新的对象。异常只能用于错误处理,不应该用来控制程序流程。
5)乘法和除法使用移位操作。用移位操作可以极大地提高性能,因为在计算机底层,对位的操作是最方便、最快的,但是移位操作虽然快,可能会使代码不太好理解,因此最好加上相应的注释。
6)尽量使用HashMap、ArrayList、StringBuilder,除非线程安全需要,否则不推荐使用 Hashtable、Vector、StringBuffer,后三者由于使用同步机制而导致了性能开销。
尽量在合适的场合使用单例。使用单例可以减轻加载的负担、缩短加载的时间、提高加载的效率,但并不是所有地方都适用于单例。
Q2: 求java大神,请分析以下代码,写出执行结果,并解释每行结果输出的原因。
第一行,定义了int类型一维数组a和二维数组b
a={10,20,30,40}
b={{1,2},{4,5,6,7}}
第二行,b[0] = a; -- b={{10,20,30,40},{4,5,6,7}
第三行,b[0][1](20) = b[1][3](7); -- b={{10,7,30,40},{4,5,6,7}}(这里是地址引用,b[0]是a,所以b[0]改了,a也被改了)
最后:b[0][3] = 40,a[1] = 7
Q3: java代码分析
定义一个Mystery类,包含一个字符串变量s
Mystery m = new Mystery();
产生一个Mystery类的实例m,调用构造方法Mystery()
构造方法的作用是令s="constructor"
再调用m的go()方法
go()方法的作用是在屏幕上输出s
所以显示"constructor"字符串
java优秀代码分析的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java优秀代码案例、java优秀代码分析的信息别忘了在本站进行查找喔。






