为什么要用CountDownLatch?《十三》
版权声明:本文为HCG原创文章,未经博主允许不得转载。请联系[email protected] https://blog.csdn.net/qq_39455116/article/details/87101426 CountDownLatch并发类的用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。 比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 比如下面
什么是Java虚假唤醒及如何避免虚假唤醒?《多线程学习之十四》
版权声明:本文为HCG原创文章,未经博主允许不得转载。请联系[email protected] https://blog.csdn.net/qq_39455116/article/details/87101633 那什么是假唤醒? 当一个条件满足时,很多线程都被唤醒了,但是只有其中部分是有用的唤醒,其它的唤醒都是无用功
1.比如说买货,如果商品本来没有货物,突然进了一件商品,这是所有的线程都被唤醒了
,但是只能一个人买,所以其他人都是假唤醒,获取不到对象的锁
避免虚假唤醒 下面是避免虚假唤醒
Java对象的比较,仔细读一下会发现不一样的世界呦!
版权声明:本文为HCG原创文章,未经博主允许不得转载。请联系[email protected] https://blog.csdn.net/qq_39455116/article/details/86743124 package neicun;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class TestHeap {
//猜一猜打印的结果
publi
震惊!!!程序员也会写诗歌、随笔!!!
版权声明:本文为HCG原创文章,未经博主允许不得转载。请联系[email protected] https://blog.csdn.net/qq_39455116/article/details/87279906 个人随笔 记录了一些尚且存留在QQ、微信、微博里的随笔 梦邀未知人历险,梦演生平不相干。 尽谈声貌愁欢斗,尽忘昨酒汗渍后。 轻放性情少年郎,轻叹望江空折者。 藏佚村望子之心,藏己酿平凡执衷。 假病疾死生为要,假红线横断为挟。 道一声唏嘘懂难,道满湖冰滑戏挽。 歌延呈书香门第,歌碗洗油盐
Virtual.lab安装后配置选项为空的解决办法
重装Virtual.lab,Virtual.lab安装后配置选项为空,即安装完成点开Select Configurations后却发现一片空白,尝试重装,发现启动证书服务的时候,出现了一个error,LMS RLM Server这个服务已经存在。没截图,只有正确的时候的图。 解决这个问题的办法我想到两个。 第一个,删除该服务。用 sc.exe 这个 Windows 命令 开始——运行——cmd.exe,然后输入 sc 就可以看到了。使用办法很简单: sc delete "服务名" (如果服务名
自然语言处理(1)——词汇标注
如何进行词汇标注呢?首先进行数据预处理,例如如果给定的是句子,先要对句子进行分割;最简单的标注器,可以给定词汇使用得最频繁的词性作为标注器中该词汇的词性,但是由于词汇存在二义性,使得这种标注准确度受限,通过上下文语境,可以在一定程度上解决这个问题,可以采用N-gram标注器,此外,Brill标注器具有修正功能。 为了使python的中文注释正确,必须在开头加上一句代码
# -*- coding: utf-8 -*-
# 这个编码转换必须放在第一行,否则中文注释会报错 将词汇按它们的词性(pa
python使用中遇到的问题
1. 中文注释报错,编码问题
# -*- coding: utf-8 -*-
# 这个编码转换必须放在第一行,否则中文注释会报错 2. 在python中修改路径
import os
os.getcwd() #获取current working directory
os.chdir("D:\MyData\MyProgram") #change directory
os.getcwd() 3.在python脚本中导入类
import sys;
sys.path.append('/Users
自然语言处理(2)——学习分类文本之有监督分类
文档分类,其实就是根据文档的特征,统计每一个文档中的特征集,从而进行分类 这些特征的选择,可以选择高频词,词的后缀,也可以根据上下文语境,可以结合这个词和这个词的上一个词进行特征提取,还可以使用连续分类器,既考虑已知的标注集,又根据该集合预测新的标注,并加入到历史标注集中,有种半监督的意味。 有监督分类,用到了带正确标注的训练集 """ 过拟合问题。 完善特征集办法:错误分析;建立开发集,将其分为训练集(用于训练模型)和开发测试集(用于错误分析),还有一个测试集 """ 目录 1)高频词作为文
自然语言处理(3)——可用于自动生成分类模型的机器学习方法
可用于自动生成分类模型的三种机器学习方法:决策树、朴素贝叶斯分类器和最大熵分类器。 #决策树 """ 决策树可以自动地构建树结构的流程图,用于为输入变量值基于它们的特征加标签,虽 然它们易于解释,但不适合处理特性值在决定合适标签过程中相互影响的情况。 """ #朴素贝叶斯模型(生成式) """ 在朴素贝叶斯分类器中,每个特征都得到发言权,来确定哪个标签应该被分配到一个给 定的输入值。为一个输入值选择标签,朴素贝叶斯分类器以计算每个标签的先验概率开始, 它由在训练集上检查每个标签的频率来确定。之
自然语言处理(4)——从文本中提取信息
信息提取系统的流程。 这个流程图中的左边部分其实就是前面几节提到的内容,当我们拿到一个字符串文本,要先对数据进行预处理,即先对句子进行分割,然后再对句子进行分词,接着给分词进行词性标注,再接着就是这节内容提到的实体识别,实体识别其实就是对已标注的词汇进行分块,分块后就可以提取关系了,确定临近实体之间是否有某种指定的关系。 1. 具体分块是怎么实现的呢? 分块可以即根据每个词的词性标注,确定块标记
class UnigramChunker(nltk.ChunkParserI):
def __
深度学习(1)——计算图和神经网络实现
目录 1. 计算图 2. 神经网络实现 2.1 前向传播算法 2.2 参数表示 2.3 反向传播算法 1. 计算图 tensorflow使用计算图的模型来进行计算。tensorflow程序一般可以分为两个阶段,第一个是定义计算图中所有的计算,第二个是执行计算。 通过python上下文管理器,可以在管理器推出时自动释放资源
import tensorflow as tf
a=tf.constant([1.0,2.0],name='a')
b=tf.constant([1.0,2.5],name
深度学习(2)——深层神经网络
目录 一、概念 二、损失函数 1. 分类问题: 2. 对于回归问题, 3.自定义损失函数 三、参数优化 一、概念 1.激活函数实现去线性化 加了激活函数和偏置项 tensorflow提供了其中不同的非线性激活函数,也可以自定义 多层网络解决抑或问题 二、损失函数 神经网络模型的效果以及优化的目标是通过损失函数来定义的 1. 分类问题: 判断输出向量与期望的向量的距离:交叉熵:刻画两个概率分布之间的距离 Softmax将神经网络的输出变成了一个概率分布 2. 对于回归问题, 最常用损失函数韦均方
深度学习(6)——循环神经网络RNN+LSTM
目录 一、概念 1.1 RNN 1.2 LSTM(long short-term memory) 二、RNN变种 三、自然语言建模 四、时间序列预测 一、概念 1.1 RNN 主要用来处理和预测序列数据。特点:隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出,即当前时刻的状态是根据上一时刻的状态和当前的输入共同决定的。 前向传播计算过程 实现过程
# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
利用图灵机器人实现自动聊天机器人
# -*- coding: utf-8 -*-
import itchat
import requests
#获取来自机器人API的回复消息
def get_response(msg):
apiUrl='http://www.tuling123.com/openapi/api'
data={'key':'08ee2d65b6d94dd2808c71583787f779',
'info':msg,
'userid':'世纪美女'}
r=requests.post(apiUrl,d
Java 8 函数式接口 - @FunctionalInterface
什么是函数式接口(Functional Interface) 函数式接口用途 关于@FunctionalInterface注解 函数式接口里允许定义默认方法 函数式接口里允许定义静态方法 函数式接口里允许定义java.lang.Object里的public方法 JDK中的函数式接口举例 参考资料 ---------------------------------------------什么是函数式接口(Functional Interface)-------------------------
java高并发总结5--java runnable接口的引入以及策略模式在Thread中的使用
1、runnable的职责 2、策略模式在thread中的应用 3、模拟营业大厅叫号机程序 ------------------------------------------------------runnable的职责------------------------------------------------------------------- runnable源码如下: package java.lang;
@FunctionalInterface
public interfac
java高并发总结6--java线程的命名和线程的父子关系
1、线程的默认命名 2、命名线程 3、修改线程的名字 4、线程的父子关系 在构造线程的时候可以为线程起一个有意义的名字,这也是比较好的一种做法,尤其在一个线程比较多的程序中,为线程赋予一个包含特殊意义的名字有助于问题的排查和线程的跟踪,因此笔者强烈推荐在构造线程的时候赋予他一个名字 --------------------------------------------------------线程的默认命名--------------------------------------------
java高并发总结7--java Thread与ThreadGroup初探
在Thread的构造函数中,可以显式地指定现成的Group,也就是ThreadGroup。 接下来我们看一下Thread的init方法源码: private void init(ThreadGroup g, Runnable target, String name,
long stackSize, AccessControlContext acc,
boolean inheritThreadLocals)
TensorFlow学习笔记(3)-TensorBoard学习笔记
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kabuto_hui/article/details/86579290 文章目录 1. 命名空间 2. 如何开启TensorBoard 3. 一个简单的神经网络应用TensorBoard 4. 其他summary函数 参考资料 Tensorflow提供了一个可视化工具TensorBoard。TensorBoard可以有效的展示TensorFlow在运行过程中的计算图、各种指标随时间的变化趋势以
Python画图-主次坐标轴和翻转坐标轴
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kabuto_hui/article/details/86591532 文章目录 1. 主次坐标轴 2. 翻转坐标轴 很多时候我们在进可视化的时候希望把两个不同量纲的数据绘在一张图中。比如我们希望在一张图中画出历年房子的成交量和价格变化趋势图,或者是降雨与水位的变化趋势图等。这些量纲不一样就需要用到主次坐标轴来实现。 1. 主次坐标轴 import matplotlib.pyplot as p
今日推荐
周排行