Java_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> Java >>列表
最近把JVM和GC相关的知识都过了一遍,对他们都有了进一步的认识和了解。但在实际开发中并没有觉得对自己写代码有什么帮助,GC是Java托管,不需要我们写代码去管理。欢迎大家发表意见,你学了java底层的知识对你有什么帮助,大家来讨论讨论。... 查看全文
· java并发之同步辅助类Phaser发布时间:2018-03-20
Phaser含义:更加复杂和强大的同步辅助类。它允许并发执行多阶段任务。当我们有并发任务并且需要分解成几步执行时,(CyclicBarrier是分成两步),就可以选择使用Phaser。Phaser类机制是在每一步结束的位置对线程进行同步,当所有的线程都完成了这一步,才允许执行下一步。跟其他同步工具一样,必须对Phaser类中参与同步操作的任务数进行初始化,不同的是,可以动态的增加或者减少任务数。函数:arriveAndAwaitAdvance():类似于CyclicBarrier的await(... 查看全文
· Java中的static关键字发布时间:2018-03-19
静态变量静态方法static关键字基本用法:1.被static修饰的变量为静态变量,通过类名.变量名可以直接访问。2.被static修饰的方法为静态方法,通过类名.方法名可以直接访问。静态变量和静态方法属于类自身,被类对象实例共享。有些人容易混淆的一个问题:静态方法能不能引用非静态资源?静态方法里面能不能引用静态资源?非静态方法里面能不能引用静态资源?比如就以这段代码为例,是否有错?publicclassStaticTest{privateinti;publicstaticvoidmain... 查看全文
· Java程序员推荐阅读书籍发布时间:2018-03-19
《深入理解Java虚拟机:JVM高级特性与最佳实践》《深入理解Java虚拟机:JVM高级特性与最佳实践》作者是周志明,这本书可以说是国内写得最好的有关Java虚拟机的书籍,近半年,前前后后这本书我起码看了有5遍。国内写虚拟机的书除了这本,其实还有一些其他的,我也买过,不过粗略看下来,很多内容也是《深入理解Java虚拟机:JVM高级特性与最佳实践》此书里面的。另外值得一提的是,《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书,有电子版的,网上搜一下就能下载到了。《Java并发编程实战... 查看全文
支持小程序,JeeWx捷微3.1小程序版本发布^_^JeeWx捷微V3.1——多触点小程序版本管理平台(支持微信公众号,微信企业号,支付窗)JeeWx捷微V3.1.0版本紧跟微信小程序更新,在原有多触点版本基础上,引入了更多的新亮点、新特性:支持微信企业号、支付宝服务窗等多触点开发;采用微服务框架实现,可插拔可集成,轻量级开发;对小程序的接入和应用进行了探索和封装。JEEWX将继续引领未来多触点模式的应用,并将拥抱小程序,是开发互联网运营推广项目的首选(微信、企业号、支付窗、微博、小程序等等)... 查看全文
· java线程池详解发布时间:2018-03-19
1、什么是线程池:java.util.concurrent.Executors提供了一个java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1创建线程时间,T2在线程中执行任务的时间,T3销毁线程时间。如果:T1+T3远大于T2,则可以采用线程池,以提高服务器性能。一个线程池包括以下四个基本组成部分:a... 查看全文
· Java中的final关键字发布时间:2018-03-19
我们都知道Java中final关键字的用法:被fiinal修饰的类不能被继承。被final修饰的方法不能被重写。被final修饰的变量不能被修改。然而,被final修饰的变量不能被修改,这个怎么理解呢,是变量的值不能被修改,还是引用不能被修改呢,引用的对象可以被修改吗,我们来看代码:packagecom.yuwl.jdk;/***测试内容:final修饰变量*@authorYuwl*2018-3-18*/publicclassFinalTest{privatefinalintone=1... 查看全文
· java并发之同步辅助类CyclicBarrier发布时间:2018-03-18
CyclicBarrier含义:栅栏允许两个或者多个线程在某个集合点同步。当一个线程到达集合点时,它将调用await()方法等待其它的线程。线程调用await()方法后,CyclicBarrier将阻塞这个线程并将它置入休眠状态等待其它线程的到来。等最后一个线程调用await()方法时,CyclicBarrier将唤醒所有等待的线程然后这些线程将继续执行。CyclicBarrier可以传入另一个Runnable对象作为初始化参数。当所有的线程都到达集合点后... 查看全文
一、源码分析源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):1、只关注项目本身,不懂就baidu一下。2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。3、除了阅读和项目相关的书外,还会阅读IT行业的书,比如学Java时,还会去了解函数语言,如LISP。4... 查看全文
· java的特性发布时间:2018-03-17
(本文只是作者读书的总结,不作为自己的著作和商业用途,仅供自己记录和学习之用,如涉及到版权问题,本文可以立刻删除。仅此公示。)简单java的设计的目地是让开发者感觉简学易用,假如你一个丰富的c++程序员,那么学习java不费吹灰之力,因为java继承了c和c++语法和面向对象的特性安全当你从互联网上下载一个可执行文件的时候,下载完成,都反复检查病毒,生怕电脑被病毒入侵。除了病毒,另一种恶意的程序也必须警惕。这种恶意的程序可通过搜索你计算机本地文件系统的内容来收集你的私人信息... 查看全文
1.问题背景在用java计算金额时,使用double计算会出现精度丢失问题,用js直接加减乘除也会导致精度丢失。2.问题解析是什么导致java和js数字计算时精度丢失?引用孙卫琴的《Java面向对象编程》的内容来解释,由于计算机的二进制计算只能精确表示整数部分,无法精确表示小数部分,计算小数会产生精度丢失:3.解决方案java语言计算金额等需要精确数字时,可以使用java类库中的java.math.BigDecimal。而js计算时可以把数字转为整数计算即可。代码如下:/**加法运算... 查看全文
高性能IO模型浅析http://www.cnblogs.com/fanzhidongyzby/p/4098546.html系统间通讯方式之(JavaNIO多路复用模式)(四)http://blog.csdn.net/u010963948/article/details/78507255JavaNIO之Selector、SelectableChannel和SelectorProviderhttp://blog.csdn... 查看全文
1,获取:1.1获取字符串中字符的个数(长度).intlength();1.2根据位置获取字符。charcharAt(intindex);1.3根据字符获取在字符串中的第一次出现的位置.intindexOf(intch)intindexOf(intch,intfromIndex):从指定位置进行ch的查找第一次出现位置intindexOf(Stringstr);intindexOf(Stringstr,intfromIndex);根据字符串获取在字符串中的第一次出现的位置... 查看全文
· spring的基于java的项目配置示例1发布时间:2018-03-16
spring的基于java的项目配置示例。importorg.springframework.web.context.AbstractContextLoaderInitializer;importorg.springframework.web.context.WebApplicationContext;importorg.springframework.web.context.support.AnnotationConfigWebApplicationContext... 查看全文
· java 比较两个对象是否一致发布时间:2018-03-15
/***比较对象值是否发生了改变*@paramobj1*@paramobj2*@return*/publicstaticbooleancontrastObj(Objectobj1,Objectobj2){booleanisEquals=true;if(obj1instanceofobjec&&obj2instanceofobjec){objecpojo1=(objec)obj1;objecpojo2=(objec)obj2;List<String>... 查看全文
人太懒了,好久没发文章了。今天就写点自己的算法实现吧。比较简单恐贻笑大方之家,但又觉得还是记录下来比较好。前两天qq里有人再说他老大不懂java但在招聘Java工程师。所以就选择语言无关又能考察下能力的最大公约数----算法。大概是冒泡排序、快速排序(快排)、二分查找、KMP算法。做Java大家都懂,可以通过comparable和Comparator的方式来方便的排序,所以大家平常对这些基础的算法都生疏了。也为了锻炼下自身的算法逻辑,就自己试着实现了一遍。可能会和大家找的算法实现很相似... 查看全文
· java并发之同步辅助类semaphore发布时间:2018-03-15
semaphore(sem??f?r)含义:信号量就是可以声明多把锁(包括一把锁:此时为互斥信号量)。举个例子:一个房间如果只能容纳5个人,多出来的人必须在门外面等着。如何去做呢?一个解决办法就是:房间外面挂着五把钥匙,每进去一个人就取走一把钥匙,没有钥匙的不能进入该房间而是在外面等待。每出来一个人就把钥匙放回原处以方便别人再次进入。常用方法acquire():获取信号量,信号量内部计数器减1release():释放信号量,信号量内部计数器加1tryAcquire():这个方法试图获取信号量... 查看全文
· java进程CPU过高问题定位发布时间:2018-03-14
1、top命令查看过高CPU的pid,命令:top[root@test-v3bin]#toptop-16:44:22up173days,7:05,2users,loadaverage:0.74,0.71,0.61Tasks:150total,1running,149sleeping,0stopped,0zombieCpu(s):0.8%us,0.4%sy,0.0%ni,98.1%id,0.0%wa,0.0%hi,0.0%si,0.7%stMem:8061116ktotal... 查看全文
· Java 线程池源码分析发布时间:2018-03-13
目录FutureTaskExecutorCompletionServiceAbstractExecutorServiceThreadPoolExecutorFutureTaskFutureTask类结构FutureTask实现了RunnableFuture接口,而RunnableFuture继承了Runnable和Future,也就是说FutureTask既是Runnable,也是Future。主要成员变量//任务运行状态privatevolatileintstate... 查看全文
IO的处理方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。java中IO的主要来源是本地和网络传输。在了解三种处理方式之前,先了解,同步异步,阻塞非阻塞:1、同步:用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪;例如自己亲自去餐厅吃饭2、异步:用户触发IO操作以后,可以干别的事,IO操作完成以后再通知当前线程;例如自己通过美团外卖订购了,送餐上面;自己在等餐到来时间可以干别的事情;3、阻塞:当试图进读写文件的时候,发现不可读取或没东西读... 查看全文