
JAVA
文章平均质量分 67
cktmyh
这个作者很懒,什么都没留下…
展开
-
浅谈java多线程之内存可见性
java内存可见性主要是对多线程的共享变量而言,其基本意思是每个线程有一个自己的工作内存,工作内存连接主内存,但线程之间的工作内存是不能直接看见的。常见的解决方案有以下四种: synchronized 同步,简单粗暴,但不够高效 volatile 只保证了内存可见性,无法像synchronized一样保证操作的原子性 ReentrantLock 这个锁原创 2016-04-30 20:39:34 · 345 阅读 · 0 评论 -
String的compareTo()方法
compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的 差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方 全比较完,这时就比较字符的长度. 例: String s1 = "abc", s2 = "ab原创 2015-12-24 10:52:45 · 670 阅读 · 0 评论 -
新手写代码的经验教训小结
最近,尝试了写了两个小程序,是微型信息管理系统(没做各种异常捕获),每个才短短三百行,却出现了几个问题,好在现在都已解决了。趁着还有点记忆,就把这些经验或教训写下来,警示自己,若也能警示到浏览过本文的新手朋友们,也是极好的。 1.一个非常易犯的错误是:相似代码复制粘贴后,却忘了修改其不同点!这点我深有体会,一开始做日历的时候就是这个害我出错了,后来做信息管理系统的时候也是这样,让我debug了很原创 2015-04-10 09:12:19 · 947 阅读 · 0 评论 -
java 8函数式编程与Lambda表达式
这篇文章不是我原创的,见其简 单易懂,就拿过来了。原文详见http://www.infoq.com/cn/articles/Concise-Java?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk Java的设计目标包括面向对象、易于上手(在当时,这意味着使用C原创 2015-10-06 17:54:25 · 1072 阅读 · 0 评论 -
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1,启动1000条线程,J初始为100,保证结果为100
这是一个经典java面试题目,主要考察线程之间如何实现资源共享以及同步。 public class Test1 { private int j = 100; public static void main(String args[]) { Test1 tt = new Test1(); Inc inc = tt.new Inc(); Dec dec = tt.new Dec();原创 2015-05-04 21:38:10 · 782 阅读 · 0 评论 -
小米步枪风格两种思路的双色球
这是一个用随机数产生双色球号码的程序,为了增加难度,要求6个红球是1-33里随机选,不能重复,1个蓝球是1-16里随机选,不能和6个红球一样。 两种思路:1、直接产生随机数,遍历一下,若与之前任一个相同,就再随机数一次。 2、红球给个1-33的数组,每产生一个随机数,就从数组中该序号对应的数取出来, 数组也对应删除该数,因此随机数种子应注意递减。 public class Tes原创 2015-04-10 09:50:27 · 629 阅读 · 0 评论 -
简单的人机猜拳小游戏
import java.util.Scanner; public class Guess { public static void main(String[] args) { Scanner input=new Scanner(System.in); int selfwin=0; int computerwin=0; int pj=0; for (int i = 0; i int原创 2015-03-31 20:39:09 · 1512 阅读 · 0 评论 -
java小日历
import java.util.Scanner; public class Calender { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入年份"); int year = input.nextInt(); System原创 2015-03-31 10:57:23 · 489 阅读 · 0 评论 -
MyEclipse快捷键大全
常常看到有人运指如飞,但敲出来的代码不仅容易出错,而且经常不那么美观,甚至就连速度都比不上那些温柔对待键盘的同行。现在走进科学将为你揭开这背后的奥秘------MyEclipse快捷键使用大全。(常用的已标记颜色) ------------------------------------- MyEclipse 快捷键1(CTRL) ----------------------------原创 2015-03-28 23:33:07 · 423 阅读 · 0 评论 -
java中IO流读取文件的方法
方式一 /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 * 当然也是可以读字符串的。 */ /* 貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/ public String readString1() { try {原创 2015-05-15 21:22:40 · 669 阅读 · 0 评论 -
java环境变量配置
在把jdk(注意:是jdk不是jre,jre只是运行环境,通常几十M大小,jdk通常100多M,包含jre)安装到计算机中之后,我们需要设置使java环境能够使用。 首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量(注意:为了方便起见,最好都设置在系统变量里,因为windows操作系统是多用户的)需要设置三个环境变量“JAVA_HOME”、 “pat原创 2015-03-16 14:59:48 · 319 阅读 · 0 评论 -
用户角色权限模式的图书销售系统
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。下面就是基于该模式的图书销售系统。 首先,Book作为父类,写一个计算价格的方法double cost(原创 2015-04-28 20:10:09 · 1239 阅读 · 0 评论 -
DAO设计模式
DAO设计模式: 1、DAO简介: DAO设计模式是属于J2EE数据层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性。 2、DAO各部分详解: DAO设计模式包括以下5个主要部分: (1)、数据库连接类; 数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库。通过数据库连接类可以大大的简化开发,在需要进行数据库连接时,只需常见该原创 2015-04-20 22:08:59 · 404 阅读 · 0 评论 -
关于接口的一些思考
下面示例是模拟游戏《愤怒的小鸟》的实现。 //叫的方式的接口 public interface ShoutType { public void shout(); } //嗷嗷叫 public class AoShout implements ShoutType { public void shout() { System.out.println("嗷嗷叫"); } }原创 2015-04-17 09:13:44 · 458 阅读 · 0 评论 -
Java程序通过代理访问网络
问题背景 最近工作上有开发爬虫的任务,对目标网站数据进行抓取,由于大部分网站都在国外,无法直接访问,需要通过代理才能登录。爬虫部署的服务器在香港,所以爬虫部署到服务器后,是可以访问目标网站的,但本地开发调试程序时,需要通过代理才能访问。 这篇文章就带大家了解一下如何在Java程序中使用代理访问网络。 解决方案 你需要一个代理服务器,和一个可以连接到此服务器的客户端。 花点银子买一个稳定...原创 2018-12-12 22:25:54 · 2307 阅读 · 0 评论