- 阻塞队列BlockingQueue实战及其原理分析
玛卡巴咖
1024程序员节阻塞队列高频并发线程池
一,队列1.队列是限定在一端进行插入,另一端进行删除的特殊线性表。允许出队的一端称为队头,允许入队的一端称为队尾。先进先出(FIFO)线性表。1.1Queue接口2.阻塞队列(BlockingQueue)阻塞队列(BlockingQueue)是Javautil.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列插入数据时,如果队列已满,线程将
- Springboot日志记录方案—官方原版
Doker 多克 技术人的数码品牌
springboot#日志管理springboot
一、概述SpringBoot在所有内部日志中使用CommonsLogging,但对底层日志的实现保持开放。为JavaUtilLogging、Log4j2、Logback提供了默认配置。在每一种情况下,记录器(logger)都被预设为使用控制台输出,也可以选择输出到文件。默认情况下,如果你使用“Starter”,则默认使用Logback。适当的Logback路由也包括在内,以确保使用JavaUtil
- java util包排序_JavaUtil: Java的常用操作,包括文件的操作以及常见的一些算法(排序和查找。)...
秦老猫
javautil包排序
Java工具类由于工具类并不需要产生实例化对象,将其构造方法私有化。并且工具类中的所有方法都是静态方法。例如java.util.Arrays。FileUtil**文件工具类。**实现了文件的常用操作:复制(流的方式和文件通道的方式)、移动、删除、显示文件的详细信息(类似于Linux的ll命令)、查看文本文件的内容、查看二进制文件的16进制编码、获取文件的MD5和sha值、批量转换文本文件的编码、获
- Java实例-集合
JWking
1、Java实例–数组转集合:使用JavaUtil类的Arrays.asList(name)方法将数组转换为集合。publicclassCollection_ArrayTo{publicCollection_ArrayTo()throwsIOException{intn=5;//5个元素String[]name=newString[n];for(inti=0;ihMap=newHashMap();
- Java集合
南风_001
Java实例-数组转集合以下实例演示了使用JavaUtil类的Arrays.asList(name)方法将数组转换为集合:importjava.util.*;importjava.io.*;publicclassArrayToCollection{publicstaticvoidmain(Stringargs[])throwsIOException{intn=5;//5个元素String[]nam
- 高并发JUC详解
leslie ceng
javajvm面试
高并发准备工作:导入maven依赖包org.projectlomboklombok1.18.8第二步,将project里的modules的languagelevel改为jdk8第三步,将javaCompile改为jdk81.什么是JUCJUC简称:Javautil.concurrent并发java.util.concurrent.atomic原子性java.util.concurrent.lock
- 阻塞队列介绍
伟大先锋
javajvm开发语言
下面我们先介绍阻塞队列。阻塞队列:阻塞队列(BlockingQueue)是Javautil.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;从阻塞队列取数据时,如果队列已空,线程将会阻塞等待直到队列非空。并发包下很多高级同步类的实现都是基于BlockingQueue实现的。➢Blo
- 国密sm4加密、解密Java和js
wzk_blog
Java专区javascriptjava前端
目录一、前端sm4.js二、Java后端SM4.javaSM4_Context.javaUtil.javaSM4Utils.java三、测试一、前端sm4.js/***base64js*base64js.toByteArray(d.input)*base64js.fromByteArray(c);*国密SM4加密算法*/(function(r){if(typeofexports==="object
- java必背代码_java必背代码入门有哪些?如何写出优质代码?
钟离舟
java必背代码
学习java还是要不断的积累,有必要的话,还是需要大家记忆的,这样更加有利于大家学习java,那么今天我们就给大家分享一些java入门必背代码,希望能够对大家有用!1、把Javautil.Date转成sql.Datejava.util.DateutilDate=newjava.util.Date();java.sql.DatesqlDate=newjava.sql.Date(utilDate.ge
- 4. Logging
E码
SpringBoot内部使用CommonsLogging日志记录器但是保留的对外扩展功能。默认提供JavaUtilLogging、Log4j2、Logback。为JavaUtil日志记录、Log4J2和Logback提供了默认配置。在每种情况下,日志记录器都预先配置为使用控制台输出,并提供可选的文件输出。默认,如果你使用starters,使用logback进行日志记录。还包括适当的Logback路
- java 线程池配置
木子李_af14
简单记录下,配置线程池的时候,各个参数的具体作用Javautil并发包中的线程池配置参数描述corePoolSize核心线程数maximumPoolSize最大线程数,当核心线程数到达上限后,会在最大线程数范围内,创建新的线程来执行任务keepAliveTime空闲线程的存活时间unitNANOSECONDS,MICROSECONDS,MILLISECONDS,SECONDS,MINUTES,HO
- Java util包下的集合类
果艺坊老北京冰糖葫芦
Javajava
Javautil包下的集合类1.集合概念数组特点:1定长2连续存储的(通过索引下标)3只能存储类型相同的数据4存储多个数据集合特点:1存储多个数据2存储的类型可以是多种3不一定是连续存储4非定长2.常用的集合类之ArrayListArrayList又称为动态数组,上级接口是List接口特点:1非定长2连续存储的集合构造方式://构造方式Listlist1=newArrayList();//可以存放
- Java基础——Arrays类
酱紫学Java
java算法排序算法
每日正能量如果你要做一件事,不要到处宣言自己的想法,只管安安静静地去做,值不值,时间是最好的证明,自己的人生,得自己负责。Arrays类JDK中提供了一个专门用于操作数组的工具类,即Arrays类,位于javautil中。用前需导包:importjava.util.Arrays;1.Arrays类常用方法返回类型方法说明StringtoString(array)将数组array转换成字符串void
- js/小程序判断地图坐标点是否在多边形区域内
组仙
度娘了一圈,只发现了一个python代码有用。其他要么太复杂,要么都是调GD地图util啊,BD地图util啊,或者Javautil的封装好的方法,但人家又不开源啊!我把这段python翻译成了js代码,简单测试发现OK。这代码看起来也太简单了,简单到我都不相信,,,but,itworks!!!设:需要判断的目标点为P参数aLat:P的纬度aLon:P的经度pointList:单个多边形区域顶点数
- 集合 ArrayList 笔记
java
ArrayListArrayList在javautil下,要导包ArrayList是可调整大小的数组实现是一种特殊的数据类型,泛型再出现的地方我们使用引用数据类型替换即可,比如ArrayList、ArrayList构造方法和添加方法添加方法ArrayListarray=newArrayList();//后面的String可以没有,这是创建一个空的集合对象array.add(**要添加的内容**);
- SLF4J官网手册个人翻译
独行侠梦
java日志框架填坑
SLF4J用户手册slf4j是java简单日志门面或各种各样日志框架的抽象(例如javautil包自带的logging,logback、log4j),它允许终端用户在项目部署时插入真正所需要的日志框架,注意它让你的应用或者依赖库实现只有一个强制性的依赖,就是slf4j-api-xxx.jar.从1.6.0如果在classpath路径下没有找到绑定,slf4j会默认使用一个没有操作的实现。从1.7.
- 请使用arraymap代替hashmap
三眼卡夫卡
android
先说结论吧。在Android上建议使用ArrayMap代替hashmap.在一般的使用场景下,它可以在不影响读写效率的情况下,节省大约30%的内存空间。就是想加张图,没别的意思。why?往下看:首先,我们要明白:hashmap是Javautil包下的类.ArrayMap是google在Android平台上作出优化后的类。很多人可能会觉得对ArrayMap陌生,但是其实不然,在Android源码中大
- java util包 时间日期
南希★北淼
javautil包日期时间、集合框架涉及日期、时间及数字格式化主要内容:1:java日期DateCalenderDAte与CAlender互转Date:日期时间类,用来获取当前日期时间。构造方法:Date():构造当前日期、时间Date(longtime):根据指定的毫秒构造日期成员方法:longgetTime():获得日期对象所对应的毫秒数booleanafter(Datewhen)测试的日期是
- 第一贴:关于多线程syncchronized关键字的笔记
袋袋鼠123
syncchronized缺点:1.锁对象不能为空2.不能作用太大的代码块3.需要避免死锁如何选择syncchronized和lock:1.如果可以两个都不用,使用javautil里的各种工具类2.如果关键字适用,优先适用,减少代码量3.如果只能lock.那就lock(灵活的加减锁机制)思考题:1.多个线程等待同一个syncchronized.jvm如何选择下一个获取锁的线程呢?1)正在阻塞2)刚
- AbstractCollection 方法的toString()方法解析
chenizhou5375
java
AbstractCollection抽象类,是Javautil下的Collection的骨干类,提供了很多方法。很多方法,都被具体的实现类重写了,但是toString方法好像保留了,这个方法的源码如下: public String toString() { Iterator i = iterator(); if (! i.hasNext()) return "[]
- JUC编程:线程池的深入
你像石头一样硬
后端开发
JUC,指的是javautil下concurrent包下面的这些类,通过运用这些类进行并发编程,其中工作中常常了解的就是线程池了1什么是线程池线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅
- Java常用工具类封装——连接数据库的工具类
Yes_JiangShuai
JavaTools
数据库操作工具类,供大家参考。packagecom.itjh.javaUtil;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql
- jdk1.4和jdk1.5的有那些区别
ctest011502
1.泛型2自动装箱/拆箱3for-each4staticimport5变长参数[@more@]1.泛型1.4之前javautil包中容器类,装的是Object对象,你要装特定的类型可以,但要强制转换,这可能导致运行时错误.例:原来ArrayListlist=newArrayList();list.add(newInteger(3));list.add(newInteger(4));inti=((I
- Calendar类延长收货时间
暖阳倾宸
先简单介绍一下Calendar类Calendar类Calendar类是javautil包下的一个工具类,提供了很多便捷的不同日期格式的处理Calendar类成员方法staticCalendargetInstance()使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。如下所示:Calendarcr=Calendar.getInstance();publicvoidset(inty
- Java Zip UnZip
雾里看花叹朦胧
javaBasezipunzipjava.util.zipZipEntryZipOutputStream
压缩和解压,一般可以使用如下两种方式:javaUtil中提供的工具类Apache中提供的工具类java里面有个包叫java.util.zip提供zip文件压缩,但是编码的时候非常不方便。编码量太多了,通过搜索,发现apache有个包提供一些简单的方法来实现zip文件的压缩与解压缩http://ant.apache.org/。下载地址:org.apache.tools.zip。下载下来解压缩后,该包
- Java中实现正态随机分布
jjwwwww
算法进阶
这次内容分为两部分,如果你对算法怎么实现没兴趣的话,看看简单版如何调用库函数就好了,如果你和我一样对算法又有那么点兴趣,那就接着看看进阶版,看不懂也不亏嘛。简单版如果不想自己写的话,Javautil库中早就有提供好的标准正态分布的随机函数://标准正态随机分布publicstaticdoubleStandardNormalDistribution(){java.util.Randomrandom=
- Base64编码和解码,乱码
litGrey
JAVA编码
1.编码1.1.编码内容截图1.2.进行编码代码importjava.util.Base64;导入javautil包publicstaticvoidmain(String[]args){Stringcontent="这是需要编码的一些内容1";//Base64编码Base64.Encoderencoder=Base64.getEncoder();//根据指定字符编码对数据进行Base64编码try
- Json对象转换成Json数组
weixin_34293911
问题在写单元测试是报错如下:JSON解析错误:不能将JavaUTIL.AARYLIST实例反序列化到StaskObjo对象令牌中代码:自己解决了挺长时间,也没研究出什么好的办法,最后问朴世超组长。解决办法这种办法虽然可以解决,但是不符合单元测试Json对象转换成Josn数组我在Controller里进来的是一个json数组,而在单元测试时new了一个Object,所以不能通过测试jsonObjec
- 阻塞队列
JOJO酱油
多线程
前序当我们实现一个生产者-消费者模式时,我们需要一个存储资源的容器。JDK为我们实现了这样一个容器:阻塞队列BlockingQueue,我们只需要实现存,取操作而不必担心多线程环境下的线程安全问题。接口BlockingQueue是Javautil.concurrent(JUC)包下重要的数据结构,区别于普通的队列,BlockingQueue提供了线程安全的队列访问方式,并发包下很多高级同步类的实现
- java并发学习之BlockingQueue实现生产者消费者
toMatser
java厚积薄发系列多线程
1.介绍阻塞队列(BlockingQueue)是Javautil.concurrent包下重要的数据结构,BlockingQueue提供了线程安全的队列访问方式:当阻塞队列进行插入数据时,如果队列已满,线程将会阻塞等待直到队列非满;从阻塞队列取数据时,如果队列已空,线程将会阻塞等待直到队列非空。并发包下很多高级同步类的实现都是基于BlockingQueue实现的。JDK7提供了以下7个阻塞队列:A
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><