Java 线程详解(一)
为了9月份的秋招呢,现在开始进行多线程以及并发相关知识的学习。。加油加油 一、基本的概念 1.线程和进程 进程:正在运行的程序,是系统进行资源分配的独立单位。 线程:进程的执行路径,调度和执行的单位,单个路径单线程,多个路径多线程。 以上的解释太“官方”了,在《Java多线程编程核心技术》里,把进程理解成我们打开的每个程序,而线程则是程序里每一个子任务。 比如,我们打开WeChat.exe运行,此时WeChat.exe就可以理解成一个进程,而你用微信和别人视频,拿来传输文件,发送信息等
软件工程第六次作业--结对作业
在线英语学习平台客户端原型 1.结对成员 刘博良 2015034643042 杨子龙 2015034643030 2.需求分析 使用NABCD模型进行需求分析 2.1 N(Need, 需求) 2.1.1背景描述和需求简介 随着经济全球化和信息全球化的发展,英语能力越来越受到人们的关注。作为国际通用语言的英语,更是在很多重要场合上广泛使用。由此英语的学习越来越被社会所重视,小学到高中自不必说,英语向来是作为考核的课程之一。而在大学的英语四六级考试同样是要求在校大学生有较强的英语能力,而且英语也是
Spring4基础 学习笔记(5) ---- Spring与Dao
Spring与DAO: Spring与JDBC模板:为了避免直接使用JDBC而带来的复杂且冗长的代码,Spring提供了一个强有力的模板类:JdbcTemplate 来简化JDBC操作。并且,数据源DataSource对象与模板JdbcTemplate对象均可通过Bean的形式定义在配置文件中,充分发挥了依赖注入的特性。 依赖jar:使用c3p0数据库连接池,Spring的JDBC.jar,Spring的事务jar,数据库驱动 一般的Service层访问Dao层: StudentService
Ansible Ad-Hoc命令(三)
一、Ad-Hoc 介绍 1.了解下什么是Ad-Hoc ? Ad-Hoc 其实就是基于Ansible 运行的命令集,有些类似终端中敲入的shell命令,Ansible提供了两种运行完成任务的方式,一种是Ansible Ad-Hoc,一种是Ansible Playbook, 而Ad-Hoc 主要是相对与Ansible Playbook 来讲的,有点类似于shell和shell 脚本之间的关系。 2.Ad-Hoc 主要有那些作用? Ad-Hoc 主要完成一些简单的场景,不需要
golang:reflect反射
因为之前一直以C++为主要开发语言,所以刚接触go语言中的reflect时感觉很懵逼,因此决定找资料彻底学习一下。 到底反射是什么? https://blog.golang.org/laws-of-reflection 根据这篇文章中的介绍: Reflection in computing is the ability of a program to examine its own structure, particularly through types; it's a form of me
一些GIT操作的技巧
一、git stash 我们有时会遇到这样的情况,正在分支a上开发一半,然后分支b上发现Bug,需要马上处理。这时候分支a上的修改怎么办呢,git add 是不行的,有的git客户端版本会提示还有add过的文件没提交不能切换分支,有的git客户端版本会把修改带到b分支。 git stash 就是解决这个问题,它把当前工作区的修改和git add的内容都保存到一个地方,然后git reset HEAD,使工作区回到上一次提交,处于干净状态。然后就可以很放心的切到另外的分支b干活了。 # 1.保存
Java核心技术第四章——2.final 和 static
final实例域 实例域(对象的属性)可修饰为final。修饰为final后,在构建对象时必须初始化这个实例域。若没有在实例域进行初始化,那么必须在每个构造器内初始化这个实例域(否则会编译错误)。 表明在后面的操作中,不能够再对它进行修改。即没有对应的域更改器(set)方法. final修饰大部分都是应用于基本类型域(基本数据类型)或者不可变类的域(例如:String类),若修饰可变的类,可能会对读者造成混乱。 静态域与静态方法 static 静态域 static修饰的属性称为静态
jQuery与js例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--全选与反选按钮-->
<input type="button" value="全选" onclick="checkAll();" />
<input type="button" value="反选" onclick="reverseAll();" />
EventBus 线程池OOM案例浅析
线程池OOM案例浅析 一、背景: 近来公司压测,发现 EventBus 使用异步线程池时,发现出现大量线程阻塞,导致线程池不可用。 二、了解线程池执行流程 三、异步EventBus源码分析 guava 中EventBus 异步线程池执行的方式默认是单例线程安全的,所以如果执行大批量的同类型事件将导致异步线程在订阅类处阻塞等待。阻塞等待的线程越多,线程池资源将被耗尽,导致系统 FULL GC。 package com.google.common.eventbus;
import com.goo
dp刷题列表1(水题级别)
为了锻炼的思维能力,顺便温习一下之前学的dp套路,我找了些dp水题来做。难度大概在noip级别及以下,不会涉及到dp的优化, noi级别的dp训练我准备在暑假或者是noip以后进行。 P1854 花店橱窗布置 P1439 【模板】最长公共子序列 UVA1630 Folding P1436 棋盘分割 UVA10559 Blocks UVA1292 Strategic game UVA1222 Bribing FIPA POJ 3585 Accumulation Degree
常规DLL与扩展DLL区别
1.常规DLL可以被各种程序调用,扩展DLL只能被MFC程序调用。提供给外部使用的控件类只能用扩展DLL。 2.扩展DLL的入口函数是DllMain(),只能被vc++程序(MFC程序)调用,而常规DLL入口是继承自CWinApp的一个类,无消息循环。 3.常规DLL只能导出c++类,函数,变量,但是扩展DLL可以导出mfc的类(即继承自mfc的类),c++类,函数,变量。 4.扩展mfc导出类一般有用宏AFX_EXT_CLASS 4.记住只有MFC扩展DLL才能让参数和返回值使用MFC的数据
SD/MMC相关寄存器的介绍
1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示: 2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一、OCR,CID,CSD和SCR寄存器保存卡的配置信息; 二、RCA寄存器保存着通信过程中卡当前暂时分配的地址(只适合SD模式); 三、CSR寄存器卡状态(Card Status)和SSR寄存器SD状态(SD Status)寄存器保存着卡的状态(例如,是否写成功,通信的CRC校验是否正确等),这两个寄存器的内容
今日推荐
周排行