我们知道一个线程在尝试获取锁失败后将被阻塞并加入等待队列中,它是一个怎样的队列?又是如何管理此队列?这节聊聊CHL Node FIFO队列。
在谈到CHL Node FIFO队列之前,我们先分析这种队列的几个要素。首先要了解的是自旋锁,所谓自旋锁即是某一线程去尝试获取某个锁时,如果该锁已经被其他线程占用的话,此线程将不断循环检查该锁是否被释放,而不是让此线程挂起或睡眠。它属于为了保证共享资源而...
分类:
编程语言 时间:
2014-12-20 23:33:23
阅读次数:
572
当我们在调用一个Java native方法的时候,方法中的参数是如何传递给C/C++本地函数中的呢?Java方法中的参数与C/C++函数中的参数,它们之间是怎么转换的呢?我猜你应该也有相关的疑虑吧,咱们先来看一个例子,还是以HelloWorld为例:
HelloWorld.java:
package com.study.jnilearn;
class MyClass {}
public...
分类:
编程语言 时间:
2014-12-20 23:31:23
阅读次数:
447
一:起因
(1)自己接下来想走算法的路子,打算把十大算法和数学模型学习一下,算是给自己之前 JavaWeb 的一个总结;
(2)记得Java算是第一个比较上手的语言了,更是用JavaWeb走过了很长的光阴,该给自己做一下小结了;
(3)JavaWeb项目开发过程中的错误,总是反复出现,为了避免再次查找的不必要麻烦,在此总结一下。
(4)JavaWeb编程一般性错误处理集锦
二:错误梳理 ...
分类:
编程语言 时间:
2014-12-20 23:32:42
阅读次数:
335
D. Tennis Game
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Petya and Gena love playing table tennis. A ...
分类:
编程语言 时间:
2014-12-20 23:29:19
阅读次数:
285
单例模式:
在实际的应用当中,有些对象我们只需要一个就足够了,比如:配置文件、工具类、线程池、缓存、日志对象、数据库连接对象等
如果创造出了多个实例,就有可能会导致许多问题,比如占用过多资源,不一致的结果等,这个时候就可以使用单例模式来解决这一问题,保证整个应用程序中某个实例有且只有一个。
关于饿汉模式和懒汉模式的区别:
1、饿汉模式的特点是加载类时比较慢,但运行时获取对象的速度比较快,线程安全
2、懒汉模式的特点是加载类时比较快,但运行时获取对象的速度比较慢(第一次调用),线程不安全...
分类:
编程语言 时间:
2014-12-20 23:28:37
阅读次数:
227
我们已经在使用JavaScript的构造函数,来创建自己的自定义对象类型。但是,我们并没有看到如何创建一个继承层次结构。重要的是,虽然构造函数通常被称为“类”,但他们真的是不一样的东西。在JavaScript中,一个构造函数就是在new一个对象时调用的函数。这里有一个小复习:function Sup...
分类:
编程语言 时间:
2014-12-20 23:29:27
阅读次数:
256
如何从文件中读取300个汉字?看起来很简单,但很容易掉坑里了。一开始我这么写:1 try:2 fd = codecs.open(os.path.join(settings.TEXT_CONTENT_DIR,channel_name.lower(), article_id), ...
分类:
编程语言 时间:
2014-12-20 23:27:37
阅读次数:
356
基本算法之穷举算法穷举算法的思想:从所有的可能的情况搜索正确的答案,其中执行的步骤:对于一种可能的情况,计算其中的结果。如果判断的结果的不符合要求就执行第一步来搜索下一个可能的情况package Main;import java.util.Scanner;public class demo2 { ....
分类:
编程语言 时间:
2014-12-20 23:24:04
阅读次数:
342
图的存在,让数据变得形象化。无论多么复杂的东西,都是简单的组合。1 import matplotlib.pyplot as plt2 import numpy as np3 dict = {'A': 40, 'B': 70, 'C': 30, 'D': 85}4 for i, key in enu....
分类:
编程语言 时间:
2014-12-20 23:22:47
阅读次数:
2311
1.线程和进程的概念1.1.进程(Process):拥有独立的内存空间,每个独立执行的程序称为进程?1.2.线程(Thread):线程是一个程序内部的一条执行路径,Java虚拟机允许应用程序并发地运行多个执行线程?1.3.线程和进程的区别 每个进程都有独立的代码和数据空间(进程上下文),进程间的切换...
分类:
编程语言 时间:
2014-12-20 23:21:07
阅读次数:
341
在进行数组操作时往往会遇到去掉重复项的问题,下面简单介绍下数组去重的方法,以及其执行效率方法一 采用两次循环 原理:拿当前的和他后面的比,如果后面的有重复的就干掉 但是我们发现数组最后一项,后面没有东西,那他就不用和后边的比较了,所以我们只要循环arr.length-1次就可以了 1 var ...
分类:
编程语言 时间:
2014-12-20 23:19:24
阅读次数:
223
比较费空间的笨方法:#includevoid main(){ int i,j,k,*m,*n,*q,temp; printf("请输入三个数:"); scanf("%d,%d,%d",&i,&j,&k); printf("三个数是:%d,%d,%d\n",i,j,k); m=&i,n=&j,q=&k...
分类:
编程语言 时间:
2014-12-20 23:17:52
阅读次数:
233
1 /* 2 树状数组基本模板 3 2014.4.20 4 5 初始:设a[i]为要读入的数组,共n个元素,则 6 for i:=1 to n do add(i,a[i]); 7 8 add(x,d):在x的位置加上d 9 sum(x):求a[1]~a[x]的和 10 */...
分类:
编程语言 时间:
2014-12-20 23:18:53
阅读次数:
219
知识点介绍:静态工厂顾名思义,就是通过调用静态工厂的方法来获取自己需要的对象,为了让spring管理所有对象,我们不能直接通过"工程类.静态方法()"来获取对象,而是依然通过spring注入的形式获取。
【转载使用,请注明出处:http://blog.csdn.net/mahoking】...
分类:
编程语言 时间:
2014-12-20 22:13:58
阅读次数:
222
有些时候,为了后续处理更方便,我们需要对采集到的数据点进行内插处理,也就是所谓的增采样。本文就来讨论一下常用的几种内插算法。
利用FFT实现信号内插
我们的信号 x(t) 是个实信号,带宽有限,能量有限。x[n] =x(nΔ)和 x’[n] =x(nΔ’)是对这个信号的两种采样,并且都满足采样定理的要求,也就是说信息并没有丢失。两次采样的采样率满足如下关系。
也就是说第...
分类:
编程语言 时间:
2014-12-20 22:11:36
阅读次数:
528
知识点介绍:
实例工厂的意思是获取对象实例的方法不是静态的,所以你需要首先new工厂类,再调用普通的实例方法。
【转载使用,请注明出处:http://blog.csdn.net/mahoking】
操作步骤:
1、创建Speaker对象。
public class Speaker {
//使用实例工厂方法实例化Bean
private String speakerN...
分类:
编程语言 时间:
2014-12-20 22:10:46
阅读次数:
331