java
sysmedia
这个作者很懒,什么都没留下…
展开
-
servlet 是单例的吗
1.servlet 是单例的吗?请写出servlet中方法 Servlet并不是单例,只是容器让它只实例化一次,变现出来的是单例的效果而已init(),service(),destroy()2.请写出jsp的内置对象 9个:request, response, pageContext, session, application, out, config, page, exc原创 2016-12-14 18:19:45 · 4755 阅读 · 1 评论 -
Java中的大数处理类BigInteger和BigDecimar浅析
这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal;BigInteger和BigDecimal分别表示不可变的任意精度的整数和不可变的有符号的任意精度的十进制数(浮点数)。主要用于高精度计算中。这两个类使得java中的大数,高精度运算变得很简单。下面从几转载 2016-12-19 11:04:32 · 673 阅读 · 0 评论 -
代码 if(username.equals(“zxx”){}有什么不妥?
直接调用equals方法可能会抛出NullPointerException异常。为了防止程序抛出异常在调用equals方法之前要先判断一下是否为空。if( username!=null && username.equals(“zxx”){}这样写才完整。或者f( "zxx".equals(username)原创 2016-12-19 11:27:33 · 8153 阅读 · 1 评论 -
高并发量网站解决方案
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht转载 2016-12-19 13:19:26 · 415 阅读 · 0 评论 -
java系统高并发解决方案
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2016-12-19 13:22:37 · 738 阅读 · 0 评论 -
selenium 1.0和selenium 2.0的区别
selenium1.0是需要启动一个服务器启动代理浏览器去操作页面。而selenium2.0是使用了webdriver去驱动浏览器操作的,省去了代理。 一、 selenium 1的原理selenium 1 包括以下两部分:selenium server、 Client Libraries组成1. selenium serverselenium server负责控制浏览器的行为。原创 2016-12-19 14:10:42 · 1974 阅读 · 0 评论 -
java实现多重继承
多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要思考的不是怎么使用多重继承,而是您的设计是否存在问题.但有时候我们确实是需要实现多重继承,而且现实生活中也真正地存在这样的情况,比如遗传:我们即继承了父亲的行为和特征也继承了母亲的行为和特征。可幸的原创 2016-12-27 10:04:18 · 432 阅读 · 0 评论 -
java并发问题
多线程java中有几种方法可以实现一个线程? 答:在Java中实现一个线程有两种方法,第一是实现Runnable接口实现它的run()方法,第二种是继承Thread类,覆盖它的run()方法。这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runnable接口了,因为Java只允许单继承的。如何停止一个正在运行的线程?原创 2016-12-19 13:18:14 · 725 阅读 · 0 评论 -
从JVM内存模型谈线程安全
存储器层次结构对于开发者来说,存储器的层次结构应该是非常熟悉的,大体如下: 其中寄存器,L1,L2,L3都被封装在CPU芯片中,作为应用开发者而言我们很少去注意和使用它.之所以引入L1,L2,L3高速寄存器,其根本是为了解决访问运算器和内存速度不匹配.但缓存的引入也带来两个问题:缓存命中率:缓存的数据都是主存中数据的备份,如果指令所需要的数据恰好在缓存中,我们就说缓存命转载 2017-03-06 15:00:59 · 674 阅读 · 0 评论 -
IDEA打包jar包的多种方式
本篇文章总结出用IDEA打包jar包的多种方式。项目打包Jar包可以参考如下形式:用IDEA自带的打包形式;用Maven插件maven-shade-plugin打包;用Maven插件maven-assembly-plugin打包。下面跟着小编一起来看下吧这里总结出用IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式:用IDEA自带的打包形式用转载 2017-05-05 17:42:56 · 11216 阅读 · 0 评论 -
java读取txt文件乱码解决方案
因为txt默认的选项是ANSI,即GBK编码。GBK和GB2312都是中文编码,在这里解释一下两者的区别。总体说来,GBK包括所有的汉字,包括简体和繁体。而gb2312则只包括简体汉字。GBK: 汉字国标扩展码,基本上采用了原来GB2312-80所有的汉字及码位,并涵盖了原Unicode中所有的汉字20902,总共收录了883个符号, 21003个汉字及提供了1894个造字转载 2017-09-19 14:42:52 · 10866 阅读 · 1 评论 -
java 字典排序
1. 字典排序给定一个整数n,给定一个整数m,将1~n个整数按字典顺序进行排序,返回排序后第m个元素。n最大可为5000000。字典排序的含义为:从最高位开始比较。1开头的数字排在最前面,然后是2开头的数字,然后是3开头的数字……最高位相同的数字,按同样的逻辑比较次高位……以此类推。例:给定整数为n=13,m=5,那么字典排序结果为: [1,10,11,12,13,2,3,4,5,6,原创 2016-12-15 11:25:17 · 3751 阅读 · 1 评论 -
Java编程:合并字符串并排序:判断丑陋数:找到最多含有n个不同字符的子串的最长长度
[java] view plain copy package com.baiyi; import java.util.*; public class TestUtils { /** * 第一题:合并字符串并排序 * * @param str1 字符串 * @pa转载 2016-12-14 13:26:53 · 588 阅读 · 0 评论 -
Ehcache和MemCached比较分析
项目 Memcache Ehcache 分布式 不完全,集群默认不实现 支持 集群 可通过客户端实现 支持(默认是异步同步) 持久化 可通过第三方应用实现,如sina研发的memcachedb,将cache的数据保存到[url=]Berkerly DB[/url] 支持。持久化到本地硬盘,生转载 2016-12-14 10:41:22 · 593 阅读 · 0 评论 -
JVM 堆内存设置原理
堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation转载 2016-12-13 10:59:36 · 298 阅读 · 0 评论 -
JVM垃圾回收(GC)原理
一、相关概念 基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 2. 标记-清除(Mark-Sweep) 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍转载 2016-12-13 11:23:08 · 342 阅读 · 0 评论 -
Java中的垃圾回收原理
垃圾回收简介用户程序(mutator)会修改还堆区中的对象集合,从存储管理器处获取空间,创建对象,还可一引入和消除对已有对象的引用。当mutator不能“达到”某些对象的时候,这些对象就成了垃圾。目的:找到不可达的对象,并将这些对象交给跟踪空闲空间的存储管理器,收回他们所占的资源。一些基本概念类型安全:任何数据分量的类型都是可确定的。可以转载 2016-12-13 12:44:00 · 353 阅读 · 0 评论 -
Java 1.5, 1.6, 1.7, 1.8的区别
对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。JDK1.5新特性: 1.自动装箱与拆箱:自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。原创 2016-12-13 13:36:02 · 11368 阅读 · 2 评论 -
Java线程死锁需要如何解决
Java线程死锁如何避免这一悲剧 Java线程死锁需要如何解决,这个问题一直在我们不断的使用中需要只有不断的关键。不幸的是,使用上锁会带来其他问题。让我们来看一些常见问题以及相应的解决方法: Java线程死锁 Java线程死锁是一个经典的多线程问题,因为不同的线程都在等待那些根本不可能被释放的锁,从而导致所有的工作都无法完成。假设有两个线程,分别代表两个饥饿的人,他们必须共享刀叉并轮原创 2016-12-07 17:59:10 · 3318 阅读 · 0 评论 -
用递归方法求数组的最大值
采用递归方法,主要思路:“数组元素的第一个值”与“数组中其他元素组成的字数组的最大值”的最大值代码实现public class MaxNumber { public static int findMax(int[] A, int begin){ int len = A.length - begin; if(len==1) {转载 2016-12-09 15:41:03 · 2784 阅读 · 0 评论 -
exe4j打包java应用程序
第一、将应用程序导出成一个JAR文件。1、先打包程序成一个jar,在eclipse里面很容易做到,右击程序选择“Export”。2、选择“JAR file”,按“Next”进入下一步。3、Select the resources to export是默认刚才我选择的那个程序。Select the export destination要选择保存此JAR fil转载 2016-12-09 15:43:28 · 641 阅读 · 0 评论 -
十盏灯
十盏灯,编号1~10,要求输入灯的编号,灯亮,其余都灭,如何用java写package javase; public class test { public static String[] Light ={"true","false","false","false","false","false","false","false","false","原创 2016-12-16 10:22:51 · 976 阅读 · 0 评论 -
Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom .
Random即:java.util.Random,ThreadLocalRandom 即:java.util.concurrent.ThreadLocalRandomSecureRandom即:java.security.SecureRandomQ:Random是不是线程安全的?A:Random是线程安全的,但是多线程下可能性能比较低。参考:http://docs.转载 2016-12-16 10:46:22 · 537 阅读 · 0 评论 -
String的indexOf实现
今天看了一下String的indexOf实现,其实实现原理不难,先把String转换为char[],然后首先找到target的的第一个字符开始匹配.Java代码 /** * 类似String.indexOf(),不过是针对byte array * * @param source * @param target * @return */ pu原创 2016-12-16 10:47:56 · 1069 阅读 · 0 评论 -
Java读写大文本文件(2GB以上)
Java读写大文本文件(2GB以上)如下的程序,将一个行数为fileLines的文本文件平均分为splitNum个小文本文件,其中换行符'r'是linux上的,windows的java换行符是'\r\n':package kddcup2012.task2.FileSystem; import java.io.BufferedInputStream; import转载 2017-09-19 14:59:43 · 24958 阅读 · 0 评论