Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java中怎样创建线程安全的方法

Java中怎样创建线程安全的方法

面试问题:下面的方法是否线程安全?怎样让它成为线程安全的方法?class MyCounter {private static int counter = 0;public static int getCount() {return counter++;}}本篇文章将解释一个常见的面试题,该问题被谷歌和很多其它公司问起过。它涉及的相对比较初级,而不是关于怎样去设计复杂的并发程序。首先,这个问题的答案是No,因为counter++操作不是一个原子操作,而是由多...
Java设计模式--单例模式

Java设计模式--单例模式

单例设计模式Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。核心知识点如下:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。(3) 定义一个静态方法返回该类的实例。/** * 方法一* 单例模式的实现:饿汉式,线程安全 但效率比较低 */ publi...
GoToMyPC遭入侵,重置用户密码

GoToMyPC遭入侵,重置用户密码

在TeamViewer【注1】之后,另一个远程桌面软件服务GoToMyPC证实遭到了入侵,该公司的安全团队在评估之后推荐重置所有用户密码。GoToMyPC建议用户在修改密码时使用强密码,不要使用字典中存在的单词,并启用二步认证。它已经通过邮件向所有用户发去了密码重置链接,对给用户造成的不便表示歉意。GoToMyPC允许用户通过浏览器远程访问桌面,其软件有三个版本:个人版,专业版和企业版。【注1】TeamViewer服务器下线,用户怀疑自己被黑远程控制和桌面...
新勒索软件完全由JavaScript编写

新勒索软件完全由JavaScript编写

安全研究人员发现了一种完全由JavaScript编写的新型勒索软件,使用CryptoJS库去加密受害者电脑上的文件。被称为RAA的勒索软件主要通过电子邮件附件的形式传播,打开附件后受害者只看到一个受损的文件,但其实勒索软件在背后做了很多活,其中包括删除Windows Volume Shadow Copy防止加密后恢复,以及开机启动,下载额外的恶意程序。目前还没有办法解密文件,安全研究人员建议不要打开附件。...
Linux内核实现中断和中断处理

Linux内核实现中断和中断处理

Linux实现中断处理内核是怎么知道应用程序要调用系统调用的呢?或者说应用程序怎么通知系统内核自己需要执行一个系统调用,这是通过软中断实现的,通过引发一个异常来促使系统切换到内核态去执行异常处理程序PS:什么时候会从用户态切换到内核态呢?1.中断;2.陷阱;3.系统调用中断分为两种,硬中断和软中断;在许多处理器体系结构处理异常和处理中断的方式类似,为了助于理解,可以把异常想象成软中断,我们通常说的中断是硬中断,硬中断是由硬件引起而不是软件引起的每一种中断都...
OpenSSL 缓冲区溢出拒绝服务漏洞(CVE-2016-2177)

OpenSSL 缓冲区溢出拒绝服务漏洞(CVE-2016-2177)

OpenSSL 缓冲区溢出拒绝服务漏洞(CVE-2016-2177)发布日期:2016-06-14更新日期:2016-06-20受影响系统:OpenSSL Project OpenSSL <= 1.0.2h描述:CVE(CAN) ID: CVE-2016-2177OpenSSL是一种开放源码的SSL实现,用来实现网络通信的高强度加密,现在被广泛地用于各种网络应用程序中。OpenSSL <= 1.0.2h版本,堆缓冲区边界检查中未正确使用指针指针...
进程调度算法Linux进程调度算法

进程调度算法Linux进程调度算法

这次介绍一下操作系统的进程调度算法操作系统的调度分为三种:1.远程调度(创建新进程);2.中程调度(交换功能的一部分);3.短程调度(下次执行哪个进程)这次讲述的就是短程调度,可以简单的看作咱们平时所说的进程调度啦当发生下面几种情况的时候会调用短程调度器,然后就看下次执行那个进程啦时钟中断I/O中断操作系统调用信号(如信号量)进程调度算法:先来先服务(FCFS)短作业优先(SPN)最短剩余时间(SRT)时间片轮转最高响应比优先公平共享调度先来先服务就和名字...
atexit函数和两种特殊文件权限位

atexit函数和两种特殊文件权限位

atexit函数atexit函数的原型如下 void atexit(void (*func)(void)) 它是一个参数为返回值和参数均为空的函数指针的函数,含义是当前进程结束之前执行参数函数指针所指向的函数,使用的时候要在main中注册,一次可以注册很多函数,函数的执行顺序与注册的先后有关,关系恰好相反,第一个注册的函数反而是最后一个执行。下面是执行实例。 1 #include<stdio.h> 2 #include<stdlib.h&...
函数栈帧(用汇编来剖析)

函数栈帧(用汇编来剖析)

这次讲解一下C++函数调用,学了这么久C语言,肯定听说过栈(数据结构啊,地址空间的栈啊之类的),函数调用就和栈密切相关。因为地址空间内的栈是从高地址向低地址生长的,也就是说压栈顺序靠后的反而地址比较低,栈底的地址高于栈顶的地址,下面贴上一段测试代码#include<stdio.h> #include<stdlib.h>void bug(){ printf("haha I ...
<< 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 >>