基本概念 并行与并发 并行:单位时间内多个任务同时执行(多核CPU). 并发:同一时间段内多个任务同时都在执行(CPU时间片轮转). 线程安全性问题 线程安全问题:指多个线程同时读写一个共享资源而没有同步措施时,导致出现脏数据或其他不可预见结果的问题. 保证线程安全方法:线程同步. 内存可见性问题 主内存:真正的内存. 工作内存:各级缓存,以及CPU的寄存器. 共享变量内存不可见问题: 例:线程A和线程B同时处理一个共享变量,由于缓存的存在,会导致内存不可见问题: A写变量X=1 =>线程A所在…
全部章节   >>>> 本章目录 4.1 网络基础知识 4.1.1 IP地址 4.1.2 端口号 4.1.3 使用InetAddress 4.1.4 InetAddress 类的具体操作 4.1.5 实践练习 4.2 基于TCP协议的网络编程 4.2.1 TCP 协议基础 4.2.2 创建服务端套接字 4.2.3 创建客户端套接字 4.2.4 基于TCP的通信 4.2.5 实践练习 4.3 使用 Socket 类进行单向通信 4.3.1 服务端读取数据 4.3.2 客户端发送数据…
目录 背景简述 第2章 函数式编程 背景简述 本人是一个自学一年Java的小菜鸡,理论上跟大多数新手的水平差不多,但我入职的新公司是要求转Clojure语言的.坊间传闻:通常情况下,最好是有一定Java的开发工作经验,再转CLojure可能容易一些.我入职后的实际经历也确实让我感受到了Clojure的自学难度略大于自学Java,遇到的困难主要与中文资料较少有关,具体为: 1 中文的面向新手的较为系统的教程材料较少,目前个人感觉最好用的还是<CLojure编程 Emerick著>这本书,网上应该…
第1章 线程 1.1 线程与进程 进程是操作系统资源分配和调度的基本单位,但cpu资源是分配到线程的,也就是线程是CPU分配的基本单位. 线程自己的栈资源中,存放的局部变量是线程私有的,其他线程无法访问,除此之外栈还存线程的调用栈帧. 1.2 线程创建 三种方式:实现Runnable接口的run方法:继承Thread类并重写run方法:使用FutureTask方式. 1.3 线程等待与通知(等待与通知的方法都在Object类中提供) 等待 wait() 线程先要事先获得共享变量上的监视器锁,然后…
1.2线程创建与运行 创建线程有三种方式: 继承Thread类并重写run方法: 实现Runnable接口的run方法,new Thread时将该类对象作为参数传入: 实现Callable接口的call方法,new FutureTask时将该类对象作为参数传入,再在new Thread时将FutureTask对象作为参数传入. 创建Thread或Thread子类对象,再调用对象的start()方法则线程进入就绪态. run方法执行完则线程进入终止态. 以上三种方式,第一种方式代码受Java只支持…
###synchronized关键字 synchronized块是Java提供的一种原子性内置锁,每个对象都可以把它当同步锁来用.线程在进入synchronized块钱会自动获取内部锁,这时候其他线程访问同步代码块时会被阻塞挂起. synchronized会造成很大的系统开销,尽量避免不必要的使用. 每种设置的锁对于一个对象(/锁加载静态方法和类上时是对于一个类的所有对象)锁只有一把. ###synchronized关键字可以修饰以下这些 ####1 synchronized修饰一个方法 pub…
家转载,为保留作者成果.转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载!假设你没有积分,能够联系我索要. 1. package SixthCharter; /* * File: Poker.java * --------------------------- * 这是第6章的第一题 * Author luoriver */ import acm.program.*; import acm.util.*; public class Po…
全部章节   >>>> 本章目录 4.1 用户自定义变量 4.1.1 用户会话变量 4.1.2 用户会话变量赋值 4.1.3 重置命令结束标记 4.1.4 实践练习 4.2 存储过程 4.2.1 局部变量 4.2.2 存储过程介绍 4.2.3 创建和执行存储过程的语法 4.2.4 不带参数存储过程 4.2.5 带输入参数存储过程 4.2.7 实践练习 4.3 条件控制语句 4.3.1 if 语句 4.3.2 case 语句 4.3.3 exists 子查询的用法 4.3.3 whi…
目录 背景简述 第3章 集合类与数据结构 3.1 抽象优于实现 3.1.1 Collection 3.1.2 Sequence 3.1.3 Associative 3.1.4 Indexed 3.1.5 Stack 3.1.6 Set 3.1.7 Sorted 3.2 访问集合元素的简洁方式 3.2.1 习惯用法 3.2.2 集合.key以及高阶函数 3.3 数据结构的类型 3.3.1 List 3.3.2 vector 3.3.3 set 3.3.4 map 3.4 不可变性和持久性 3.4.…
编程之美的第一章的第15节.讲的是构造数独.一開始拿到这个问题的确没有思路, 只是看了书中的介绍之后, 发现原来这个的求解思路和N皇后问题是一致的. 可是不知道为啥,反正一開始确实没有想到这个回溯法.知道是用回溯法求解之后.问题就变得easy了非常多. 这里我们不打算实现数独的构造.相反的,我们实现一个数独求解器,以后妈妈再也不用操心我的数独了. 当然求解器的思路和构造数独的思路一样.都是回溯法搜索,这里不再过多说明. 程序执行说明: 1.把待求解的数独数据放到in.txt文件里, 程序会自己主…