![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
zzm628
这个作者很懒,什么都没留下…
展开
-
《Java安全编码标准》学习笔记 - 2
六、面向对象1、2、只有受信子类能对具有不变性的类和方法进行扩展。一个类如果不允许继承或者一个方法不允许覆盖,则应声明为final3、声明数据成员为私有并提供可访问的封装器方法。静态的可变的数据成员必须声明为私有。4、当改变基类时,保存子类之间的依赖关系。在没有考虑子类的情况就对基类进行修改,会引入安全漏洞。在不了解基类的实现时开发的子类,有可能会产生错误的行为,...原创 2019-04-19 15:17:19 · 3347 阅读 · 0 评论 -
java,支行期间将字符串放入常量池
str = str.intern()原创 2017-01-04 10:41:07 · 321 阅读 · 0 评论 -
java读取文件后n行
public class ReadFile { //Main函数,程序入口 public static void main(String[] args) { //调用读取方法,定义文件以及读取行数 List list = readLastNLine(new File("D:/1.txt"), 5L); if (list != null原创 2016-12-21 11:55:11 · 2227 阅读 · 3 评论 -
jsp读取文件内容
<% response.setContentType("text/html;charset=UTF-8"); InputStreamReader isr = new InputStreamReader(new FileInputStream("D:/1.txt"), "UTF-8"); BufferedReader br = new BufferedReader(isr原创 2016-12-21 11:07:35 · 1898 阅读 · 0 评论 -
jps命令使用
jps工具jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有j转载 2016-06-10 19:02:24 · 348 阅读 · 0 评论 -
CentOS安装JDK1.7
1、下载网址:http://www.webkfa.com/one1/w292.html2、查看当前环境中安装了那些jdk,如果有那么卸载掉安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息:java version "1.6.0"OpenJDK Runtime Environment (build 1.6.0-b09)OpenJDK转载 2016-06-10 18:54:22 · 285 阅读 · 0 评论 -
maven snapshot和release版本的区别
Maven的Snapshot版本与Release版本1. Snapshot版本代表不稳定、尚处于开发中的版本 2. Release版本则代表稳定的版本 3. 什么情况下该用SNAPSHOT? 协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNAPSHOT来标识自己。这种做法的必要性可以反证如下: a.如果B不用SNAPSHOT,而是每次更新后都使用一个稳转载 2016-05-20 12:31:59 · 412 阅读 · 0 评论 -
关于jsp页面传递中文参数乱码的解决
form有2中方法把数据提交给服务器,get和post,分别说下吧。 (一)get提交 1.首先说下客户端(浏览器)的form表单用get方法是如何将数据编码后提交给服务器端的吧。 对于get方法来说,都是把数据串联在请求的url后面作为参数,如:http://localhost:8080/servlet?msg=abc (很常见的一个乱码问题就要出现了,如果原创 2016-05-20 12:23:36 · 467 阅读 · 0 评论 -
iBatis SqlMap的配置总结
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的70的工作量。 1、命名空间: ,在此空间外要引用此空间的元素,则需要加上命名空间名。 2、实体的别名: 如果有用到的全名的地方,可以用别名代替,受命名空间约束。 3、插入操作 对于自增主键的表,插入可以不配置插入的主键列。否则是必须的。 4、获取主转载 2016-04-23 06:49:00 · 413 阅读 · 0 评论 -
StringTokenizer类的使用
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数。1.构造函数public StringTokenizer(String str)public StringTokenizer(String str, String delim)public StringTokenizer(String str, String delim, boolean转载 2016-05-31 13:18:55 · 324 阅读 · 0 评论 -
Map和javaBean相互转换
1、javaBean转MapMap kafkaMap = org.apache.commons.beanutils.BeanUtils.describe(planStudyLogsInfo);2、Map转javaBeanorg.apache.commons.beanutils.BeanUtils.populate(obj, map);需要增加依赖:原创 2016-12-19 17:32:37 · 324 阅读 · 0 评论 -
JVM内存模型和启动参数的关系
转载 2017-01-04 11:06:10 · 303 阅读 · 0 评论 -
《Java安全编码标准》学习笔记 - 1
一、概述1、相对来说,Java是一种较为安全的语言:1)没有显式的指针操作2)对数组和字符串边界有自动检查机制3)如果尝试引用一个空指针会抛出系统异常4)算术运算是明确定义的且与平台无关,类型转换也是如此。5)内置的字节码验证器可以确保这些检查会在正确的地方执行二、输入验证和数据净化(IDS)1、sql注入,使用PreparedStatement2、xml...原创 2019-04-09 19:50:32 · 432 阅读 · 0 评论 -
《深入理解Java虚拟机》学习笔记 - 3
早期(编译期)优化1、从Sun Javac的代码来看,编译过程大致可以分为3个过程:a 解析与填充符号表过程b 插入式注解处理器的注解处理过程c 分析与字节码生成过程2、解析与填充符号表:a 词法、语法分析。词法分析是将源代码的字符流转变为标记(Token)集合;语法分析是根据Token序列构造抽象语法树的过程。b 填充符号表。符号表(Symbol Table)是由一组...原创 2019-04-09 19:46:09 · 190 阅读 · 0 评论 -
《深入理解Java虚拟机》学习笔记 - 2
类文件结构1、各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石2、任何一个Class文件都对应着唯一一个类或接口的定义信息,但反过来说,类或接口并不一定都得定义在文件里,譬如类或接口也可以通过类加载器直接生成3、根据Java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据...原创 2019-04-09 19:45:08 · 255 阅读 · 0 评论 -
《深入理解Java虚拟机》学习笔记 - 1
走近JAVA一、java的优点:1、一次编写,到处运行2、相对安全的内存管理和访问机制3、热点代码检测和运行时编译及优化4、完善的应用程序接口,以及第三方类库二、虚拟机1、Classic VM2、Exact VM3、Sun HotSpot VM,HotSpotVm的热点代码探测能力可以通过执行计数器找出最具有编译价值的代码,然后通知JIT编译器以方法为单位进行编...原创 2019-04-09 19:43:56 · 138 阅读 · 0 评论 -
字母、数字混合方式,按照自然语言排序,java版
public static int atoi(String str) { //这里要小心,需要判断有效性 if (str == null || str.length() == 0) { return 0; } int nlen = str.length(); double sum = ...原创 2018-07-24 18:01:14 · 2581 阅读 · 0 评论 -
Gson将字符串转map时,int、long默认为double类型
import com.google.gson.*;import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;import java.util.HashMap;import java.util.Map;import java.util.Set;/** * Created by zzm on 2017原创 2017-08-25 11:03:18 · 4493 阅读 · 0 评论 -
tomcat总体架构
Tomcat最外层是一个Server模块,它控制整个tomcat的生命周期。Server由多个Service组成,一个Service是一个对外服务的实体。Service由多个Connector、一个Container、一个Executor和其它基础服务模块组成。其中Connector和Container是tomcat的核心模块,也是本文要重点剖析的模块。Executor是提供一个线程池,如果在Se原创 2017-01-10 14:07:13 · 259 阅读 · 0 评论 -
JVM运行时刻内存的分配详解
在 java 垃圾回收整理一文中,描述了jvm运行时刻内存的分配。其中有一个内存区域是jvm虚拟机栈,每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量转载 2017-01-10 10:45:00 · 228 阅读 · 0 评论 -
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError at java.io.ObjectStreamClass.processQueue(ObjectStreamClass.java:2234) at java.io.ObjectStreamClass.lookup(ObjectStr原创 2016-12-20 12:02:17 · 5913 阅读 · 0 评论 -
构建高并发高可用的电商平台架构实践
问题导读:1.如何构建高并发电商平台架构2.哈希、B树、倒排、bitmap的作用是什么?3.作为软件工程师,该如何实现读写?4.如何实现负载均衡、反向代理?5.电商业务是什么?6.基础中间件该如何设计?7.对于平台各个系统之间的异步交互,可以通过什么实现?8.搜索功能该考虑什么问题?9.实时计算需要考虑什么因素?10.数据存储可以考虑使用什么数据库?11转载 2016-03-28 21:08:18 · 673 阅读 · 0 评论 -
重装jdk时出错Error: could not open `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'
删除c:\windows\system32\java,c:\windows\system32\javaw,c:\windows\system32\javaws,之后再运行java原创 2016-04-07 17:14:43 · 1852 阅读 · 0 评论 -
十个有趣的你可以为之贡献并从中学习的Java项目
如果你正在寻找有意思的 Java 项目来参与和贡献,那么继续阅读这篇文章。这篇文章是我们的 Java 项目陈列室,在这里我将给我的读者提供一些有趣的 Java 项目。成为 Java 开发团队的一分子并且写一些代码总是不错的选择。在学校学院里,我们可能没有接触过真正的开发工作。在公司我们可能没法选择我们喜欢的项目。这样,让我们加入开源项目吧,因为这些对于我们来说有趣又好玩。转载 2016-03-12 16:44:29 · 663 阅读 · 0 评论 -
Android Duplicate files copied in APK
今天调试 android 应用遇到这么个问题:Duplicate files copied in APK META-INF/DEPENDENCIES File 1: httpmime-4.3.2.jar File 2: httpmime-4.3.2.jar貌似说两个包里面的文件重复了还是怎么的,谷歌了一番之后据说应该是 android studio 自身的bug解决办法:转载 2016-03-16 10:22:57 · 286 阅读 · 0 评论 -
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()'
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()'原创 2015-11-02 17:01:26 · 27742 阅读 · 0 评论 -
String的compareTo()方法返回值
compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的 差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方 全比较完,这时就比较字符的长度. 例: String s1 = "abc"; String转载 2015-10-27 15:39:52 · 503 阅读 · 0 评论 -
java中使用switch case报错case expressions must be constant expressions
一、发现问题private int CLICK_QUERY = 1;private int CLICK_RESET = 2;@Overridepublic void onClick(View v){ int tag = (Integer) v.getTag(); switch (tag) { case CLICK_QUERY: query();转载 2015-10-20 15:18:59 · 610 阅读 · 0 评论 -
Java 正则表达式--字符串匹配、切割、与替换
package Regex;public class Regexs { public static void main(String args[]) { //正则表达式切割 //splitShow("Monday,tuesday,third",","); //splitShow("Moday.tureday.third","\\."); //按照 . 切 /转载 2015-11-04 16:28:21 · 574 阅读 · 0 评论 -
接口和抽象类的区别
接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.转载 2015-08-11 15:56:44 · 367 阅读 · 0 评论 -
Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决
1,从Intalled JREs里修改;window->Preferences->Java->Installed JREs,选择当前的JRE,然后edit它;在新窗口里设置Default VM Arguments为 -Xms128M -Xmx512M即可;这个设置应该对所有的工程都有效;2,如果仅仅是想对某个工程的有效的话,从Debug... 或Run...里修改,在(x)=Arguments原创 2015-06-19 12:39:07 · 464 阅读 · 0 评论 -
java 获取当前时间
Long time=System.currentTimeMillis();Date date=new Date(time);SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat format2=new SimpleDateFormat("yyyyMMdd");String nowdate原创 2015-05-29 15:12:52 · 333 阅读 · 0 评论 -
Android开发中如何使用assets中的文件
第一步通过 getAssets().open(fileName)获得inputstream第二步,获得了inputstream就可以做任何想做的事情了。代码如下:private void onClickButtonTian() { try { String fileName = Environment.getExternalStorageDirectory() .g原创 2015-05-15 13:47:49 · 636 阅读 · 0 评论 -
duplicate files copied in APK META_INF/NOTICE [duplicate]
查看build.gradle 文件:dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:support-v4:19.1.0' compile 'com.android.support:appcompat-v7:19.1.0'原创 2016-03-16 10:25:46 · 280 阅读 · 0 评论 -
Java垃圾收集学习笔记
(1)除了释放不再被引用的对象,垃圾收集器还要处理堆碎块。请求分配新对象时可能不得不增大堆空间的大小,虽然可以使用的空闲空间是足够的,但是堆中没有没有连续的空间放得下新对象。可能会导致虚拟机产生不必要的”内存不足“错误。(2)使用垃圾收集堆,有一个潜在的缺陷就是加大程序的负担,可能影响程序的性能。因为虚拟机需要追踪哪些对象被正在执行的程序引用,还要动态释放垃圾对象。(3)程序可以调转载 2016-03-16 16:55:37 · 307 阅读 · 0 评论 -
有趣的Java小代码
在2009年的JavaOne大会上,Joshua Bloch和Neal Gafter又为我们带来的7道谜题,挺有意思的。大家不妨看看。摘自:Return of the Puzzlers: Schlock and AweJoshua Bloch, Google, Inc.; Neal Gafter, Microsofthttp://developers.sun.com/learnin转载 2016-03-12 16:36:30 · 5341 阅读 · 0 评论 -
JAVA编译器常量
编译器常量的特点就是:它的值在编译期就可以确定。比如: final int i = 5; 再傻的编译器也能在编译时看出它的值是5,不需要到运行时。对于运行时常量,它的值虽然在运行时初始化后不再发生变化,但问题就在于它的初始值要到运行时才能确定。 比如: Random rand = new Random(47); final int i4 = ra转载 2016-03-12 07:22:32 · 524 阅读 · 0 评论 -
关于Java的Boolean.getBoolean方法
关于Java的Boolean.getBoolean方法Boolean.getBoolean(String name)这个方法经常误导使用者,使用者经常会以为是通过一个String的"true"转换为Boolean的true,但结果却不是这样的.看一下API的解释:英文的API:---------------------------------------------转载 2016-03-12 07:15:06 · 1432 阅读 · 0 评论 -
哈希排序
第一部分:Top K 算法详解问题描述百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用转载 2016-02-26 15:01:24 · 577 阅读 · 0 评论 -
java中Map,List与Set的区别
Set,List,Map的区别java集合的主要分为三种类型:Set(集)List(列表)Map(映射)要深入理解集合首先要了解下我们熟悉的数组:数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据转载 2016-02-26 15:00:47 · 265 阅读 · 0 评论