一.线程的基本概念1、入题:我们大家都知道,我们可以在一台计算机上同时聊天,看电影,下载视频等,完成上述任务的各个程序之间是完全相互独立的。但是他们在同一段时间内又同时处于运行状态。当然呢,它们在这一段时间内是分时使用计算机CPU时间的。只不过呢在CPU处理速度很快,划分的时间片段很短,所以给大家感觉上是多个程序在同时运行。2、进程:进程是程序的一次动态执行过程。这个过程包含了从程序代码从硬盘加载到内存、在内存中执行、执行结束等过程,实际上也就是进程的产生
系统 2019-08-12 09:29:59 2217
paint,repaint,update,这3个都跟绘图有关系的相关的方法把。这3个虽然以前用过,但是但是没有完全理解。下面这个段话是转载的(感觉讲的比较好):repaint()这个方法是一个具有刷新页面效果的方法,如果你要页面进行重画就可以调用.从上面的流程图可以看出,在绘制动画图形时候如果没有调用repaint()方法的时候直接就是由线程调用paint()方法进行绘制,用repaint()进行刷新显示.但是这样的动画会有个缺点(这样的效果绘制出来会有闪
系统 2019-08-12 01:54:48 2217
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了。例如,下面的情况:Python页面主要通过“display:none”来控制整个下拉框不可见。这个时候如果直接操作这个下拉框,就会提示:fromseleniumimportwebdriverfromselenium.webdriver.support.selectimportSelectimportos,timedriver=webdriver.Chrome()file_p
系统 2019-09-27 17:52:49 2216
代码下载地址:http://download.csdn.net/source/1047937SLG或者说战棋游戏,在大多数英文站点是归类到SimulationGame的(包括模拟城市之类的纯SIM),并没有进行SRPG(StrategiesRolePlayGames)、RTS(Real-TimeStrategyGame)乃至RSLG(RoleplaySimulationGame)种种的细分。归结原因,想必还是因为近似因素太多,在大多数时候已经难以区分其本来
系统 2019-08-29 22:39:52 2216
publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){Stringstr="A";doit(str);System.out.println(str);}publicstaticvoiddoit(Stringstr){str="B";}}这里结果输出A啊,唉,这都错,半路出家和尚啊……doit传进去的参数作用范围只是函数内部,Java是值调用。突然想到,这里的String类型的之
系统 2019-08-29 22:34:41 2216
Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty以其高效、小巧、可嵌入式等优点深得人心,尤其是启动速度Tomcat6简直望尘莫及。Jetty作为可选的servlet容器只是一个额外的功能,而它真正出名是因为它是作为一个可以嵌入到其他的Java代码中的servlet容器而设计的。这就是说,开发小组将Jetty作为一组Jar文件提供出来,因此你可以在你自己的代码中将servlet容器实例
系统 2019-08-29 22:10:54 2216
8.+=复合赋值问题x+=i与x=x+i等效吗,许多程序员都会认为第一个表达式x+=i只是第二个表达式x=x+i的简写方式,但这并不准确。Java语言规范中提到:复合赋值E1op=E2等价于简单赋值E1=(T)((E1)op(E2)),其中T是E1的类型。复合赋值表达式自动地将所执行计算的结果转型为其左侧变量的类型。如果结果的类型与该变量的类型相同,那么这个转型不会造成任何影响,然而,如果结果的类型比该变量的类型要宽,那么复合赋值操作符将悄悄地执行一个窄化
系统 2019-08-29 22:02:50 2216
应用47.不可变的引用类型Java代码BigIntegertotal=BigInteger.ZERO;total.add(newBigInteger("1"));total.add(newBigInteger("10"));System.out.println(total);//0上面程序的结果为11吗?答案是0。BigInteger实例是不可变的。String、BigDecimal以及包装类型:Integer、Long、Short、Byte、Charac
系统 2019-08-29 22:02:46 2216
六十六、同步访问共享的可变数据:在Java中很多时候都是通过synchronized关键字来实现共享对象之间的同步的。事实上,对象同步并不仅限于当多个线程操作同一可变对象时,仍然能够保证该共享对象的状态始终保持一致。与此同时,他还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护的之前所有的修改效果。Java的语言规范保证了读写一个变量是原子的,除非这个变量的类型为long或double。换句话说,读取一个非long或double类型的变量
系统 2019-08-29 22:02:40 2216
好东西分享有些运算符在JAVA语言中存在着,但是在实际开发中我们或许很少用到它们,在面试题中却时常出现它们的身影,对于这些运算符的含义和用法,你是否还记得呢?自增(++)和自减(--)运算符我们先来回答几个问题吧:Java代码inti=0;intj=i++;intk=--i;inti=0;intj=i++;intk=--i;这段代码运行后,i等于多少?j等于多少?k等于多少?太简单了?好,继续:Java代码inti=0;intj=i+++++i;intk=
系统 2019-08-12 09:30:14 2216
Java中的四种引用强、软、弱和虚引用,对应的生命周期:强>软>弱>虚引用.除强引用外,其他3种引用都需要与ReferenceQueue联合使用,当引用被垃圾回收机制回收的时候,引用会自动放入ReferenceQueue中.WeakReference和SoftReference可以用来做Cashe,文章第二段引用了JavaEye文章,介绍Googlecollection的MapMaker方便生成ConcurrentMap,可以方便的设置map中expire
系统 2019-08-29 23:49:34 2215
看了"臧圩人"的一片多线程文章,根据自己的想法才写出这篇过于java多线程的文章。一、怎样实现多线程:1.1实现多线程:1.1.1、实现线程的方式有两种:1、继承java.lang.Thread,并重写它的run()方法,将线程的执行主体放入其中。2、实现java.lang.Runnable接口,实现它的run()方法,并将线程的执行主体放入其中。1.1.2、这是继承Thread类实现线程的示例:Java代码publicclassThreadTestext
系统 2019-08-29 23:48:26 2215
对象与基本类型几乎所有Java初学者都被告知,在Java里一切都被视为对象(Object),操纵对象的表示符实际上时对象的一个引用(Reference)。例如Stringstr;//注意!此处创建了一个引用,而非对象str=newString(“Hello”);//这里创建了一个String对象并与str相关联通常用new操作符来创建一个新对象,并存储在堆里面。【注】具体内容可以参看Java堆与栈程序设计中有一系列小的、简单的变量(笔者是这样认为的),将它
系统 2019-08-29 23:07:26 2215
StringbirthdayString="2006-04-05";java.util.Datebirthday=newjava.util.Date();try...{java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd");birthday=sdf.parse(birthdayString);System.out.println(birthday);System.o
系统 2019-08-29 22:56:37 2215
1.HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。2.HashSet的实现:对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成,我们应该为保存到HashSet
系统 2019-08-29 22:51:29 2215