huangleijay
研发工程师,在二手交易、云平台、云搜索和长视频领域工作多年,略有所悟。
展开
-
从工作中理解如何使用同步和异步设计
异步的使用场景:1、不涉及共享资源,或对共享资源只读,即非互斥操作2、没有时序上的严格关系 ## @hxx 这一点需要深刻理解,在云搜edoc-svc中,为什么不使用异步,因为帖子需要严格保序!3、不需要原子操作,或可以通过其他方式控制原子性4、常用于IO操作等耗时操作,因为比较影响客户体验和使用性能5、不影响主线程逻辑同步的使用场景:不使用异步的时候同步的好处:1、同步流程对结果处理通常更为简单,可以就近处理。2、同步原创 2022-02-22 17:12:32 · 500 阅读 · 0 评论 -
云搜索分布式索引一致性设计
目前流行的云搜索服务的主要特点有:1:接入快捷、运维能力强,提供了可视化运维数据、多维立体化监控和自助工具界面,实现全托管自运维。2:服务可靠、高可用。索引系统采用多副本数据和服务冗余、不同级别的隔离、集群联邦和资源预留等容灾机制,确保高可用性。宕机时副本自动迁移、恢复服务、同步索引数据,无需手工介入,做到用户无感知。3:文档属性丰富,搜索方式多样化。在索引服务流程中文档被嵌入了丰富信...原创 2020-04-28 10:10:35 · 406 阅读 · 0 评论 -
JAVA经典开发网站
1.[http://www.javaalmanac.com] – Java开发者年鉴一书的在线版本.要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.2.[http://www.onjava.com] – O’Reilly的Java网站. 每周都有新文章.3.[http://java.sun.com] – 官方的Java开发者网站 – 每周都有新文章发表.4.[h原创 2013-09-11 15:54:30 · 679 阅读 · 0 评论 -
关于jaxp和dom4j【sax和dom对比】
周五晚上,问了一下lj她的html到xhtml的转化是怎么变得,当时她说是通过jaxp,在我印象中jaxp就是用来解析、创建xml,但是为什么要用这种方式呢?通过比较,个人觉得还是dom4j比较好用。下面分别以两种方式进行xml文件的读取,主要分为dom、SAX两种方式,那么两种方式有什么区别呢?看了很多网页总结两者之间区别,各有利弊:【DOM和SAX区别】DOM:读取整个文件并将原创 2013-09-11 15:55:35 · 856 阅读 · 0 评论 -
Tomcat里 appBase和docBase的区别
我们先看appBase,这个目录表示:1 这个目录下面的子目录将自动被部署为应用。2 这个目录下面的.war文件将被自动解压缩并部署为应用而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。总结:如果你想自己指定路径,那么应该在docBase里面如果你想简单,那么直接把他们复制到appBase下面就行了如果你把他们原创 2013-09-11 15:55:38 · 809 阅读 · 0 评论 -
java中相对路径,绝对路径问题总结
基本概念 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。 相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用原创 2013-09-11 15:55:58 · 407 阅读 · 0 评论 -
让你了解什么是jar包
下面就来看看什么是 JAR文件包吧: 1. JAR文件包 JAR 文件就是 Java ArchiveFile,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个META-INF/MANIFEST.MF原创 2013-09-11 15:56:52 · 802 阅读 · 0 评论 -
JavaScript什么时候用才好?
JavaScript什么时候用才好?学了javascript但是开始学java web的时候突然觉得自己学的javascript好像没有什么用?可能是我WEB还没学好但是思考这个问题我觉得还是能整理我这几个月所学的知识!个人觉得javascript肯定是出现在html之中的,毋庸置疑(随便点开一个网站源码,都可以看到script啦),在WEB开发之中的静态WEB资源编写应该是要用到的原创 2013-09-11 15:57:14 · 604 阅读 · 0 评论 -
java异常的理解
由笔记中这句话引发的思考????***只有当你想把异常作为一个返回值时候使用编译时异常(checkedexception),否则都使用运行时异常!public void add(Student s){ //层层往上抛,没意思,除了给上层添麻烦没有任何好处 try { Documentdocument=XMLUtils.getDocument(); } catch (Ex原创 2013-09-11 15:57:16 · 552 阅读 · 0 评论 -
java多线程网络数据采集 1
java多线程网络数据采集 第一步抓取数据。java采集网页数据。获取html文本节点有几种办法。转载文章请注明来处:http://blog.csdn.net/column/details/threadgrab.html第一种: 采用HttpURLConnection[java] viewplaincopyprint?package com.yjf.util;原创 2013-09-11 15:57:55 · 652 阅读 · 0 评论 -
java多线程采集+线程同步-【多线程…
前些日子讲解了java数据抓取, 今天就讲解最核心的。 java多线程数据抓取。 java多线程采集+数据同步+线程同步【多线程数据采集之四】主要讲解多线程抓取,多线程同步,多线程启动,控制等操作。转载请用链接注明: 来源博客http://blog.csdn.net/yjflinchong文章栏目列表:http://blog.csdn.net/column/details/threadg原创 2013-09-11 15:58:02 · 706 阅读 · 0 评论 -
Spring+Mybatis整合事务不起作用之…
前言:公司最近一个项目用到Spring和Mybatis,发现用起来挺方便,比以前的那个struts+hibernate舒服多了。废话少说,直接摆问题,碰到的问题是,mybatis不在事务中运行,后台日志报“Closing no transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1900原创 2013-09-11 15:58:22 · 676 阅读 · 0 评论 -
javaweb在拷贝工程的时候经常出的…
1 Access restriction:The constructor SunJCE() is not accessibldue to restriction on requiredlibraryE:/JDK/JDK1.6.0_03/jdk1.6.0_03/jre/lib/ext/sunjce_provider.jar今天在做JAVA网络编程实验,在搭建项目环境时出现了以下编译错误:原创 2013-09-11 15:59:31 · 507 阅读 · 0 评论 -
unsupported major.minor&nbs…
一直以来都是用jdk1.5,这次重返电信由于其系统是在jdk1.4上编译的,编译的时候出现了unsupportedmajor.minorversion49.0的错误,上网查看了一下还是一个很普遍的错误,捣鼓了两天终于捣鼓出一些东西,现分享给大家。 何谓 major.minor,且又居身于何处呢?先感性认识并找到 major.minor 来。顺便写一段 代码,然后用 JDK 1.5原创 2013-09-11 16:00:23 · 563 阅读 · 0 评论 -
Thread.currentThread().getName()…
package cn.huanglei_jmr.demo01;import org.junit.Test;public class EmployeeThreadTest01 { public void init(){ Thread_getName2 t = newThread_getName2(); t.setName("jjj");//更改线程名字 //System.out原创 2013-09-11 16:00:38 · 780 阅读 · 0 评论 -
StringBuilder与StringBuffer的区…
相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类。String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,可变和不可变类这一对对象已经齐全原创 2013-09-11 16:01:45 · 484 阅读 · 0 评论 -
java编码思考
Java与Unicode: Java的class文件采用utf8的编码方式,JVM运行时采用utf16。 Java的字符串是unicode编码的。 总之,Java采用了unicode字符集,使之易于国际化。 Java支持哪些字符集: 即Java能识别哪些字符集并对它进行正确地处理? 查看Charset类,最新的JDK支持160种字符集。可以通过static方法availa原创 2013-09-11 16:03:19 · 555 阅读 · 0 评论 -
java swing 布局
package newpackage;import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Component;import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.a原创 2013-09-11 16:03:21 · 500 阅读 · 0 评论 -
Java中得AWT和Swing的概述
Java基本类 Java基本类(JFC),由一些软件包组成。这些软件包主要包括下面一些应用程序接口(API): ?抽象窗口工具集(AWT)(1.1及以上版本)。 ?Swing构件。 ?Java2D应用程序接口(2D API)。 ?兼容程序接口。 上面列出的这些应用程序接口可能会出现在多个软件包中。例如:2D API在Java.awt和Java.awt.image软件包中原创 2013-09-11 16:03:23 · 588 阅读 · 0 评论 -
java swing 树结构代码
JFrame和Componentjava.lang.Object swing 树结构代码" />java.awt.Component swing 树结构代码" />java.awt.Container swing 树结构代码" />java.awt.Window swing 树结构代码" />java.awt.Frame原创 2013-09-11 16:03:26 · 802 阅读 · 0 评论 -
Java验证码
下面这段代码可用于Jsp+Servle+JavaBean中做验证码:import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %> Color getRandColor(int fc,int bc){//给定范围获得随机颜色 Random random = new Random();原创 2013-09-11 16:03:36 · 495 阅读 · 0 评论 -
实现网页视频的功能(第1章)!
bbs初步到这一个需求,查到的第一手资料如下近年来,视频点播VOD(Video on Demand)的名字在媒体上出现得越来越多。VOD技术使人们可以根据自己的兴趣,不用借助录像机、影碟机、有线电视而在电脑或电视上自由地点播节目库中的视频节目和信息,是可以对视频节目内容进行自由选择的交互式系统。 VOD的本质是信息的使用者根据自己的需求主动获得多媒体信息,它区别于信息发布的最大不同:原创 2013-09-11 16:03:49 · 857 阅读 · 0 评论 -
JAVA正则表达式-捕获组与非捕获组
Java捕获组与非捕获组的问题困扰了我一阵子,下面是我弄明白后的笔记: 结论:就是我的那个软件regexTest中使用的(?\d+),可以得到其中的一组匹配的数据(比如说num),而不是整个匹配的数据先看例子: Java代码 import java.util.regex.Matcher; import java.util.regex.Pattern; publ原创 2013-09-11 16:06:41 · 709 阅读 · 0 评论 -
DOM和SAX比较和选择(.net)---3
DOM和SAX比较和选择当解析一个XML时我们有很多选择方案,如SAX、DOM、JDOM、JAXP、数据绑定等等,必须根据实际情况来选择一个或几个。在此仅谈论SAX和DOM,可以从以上四点考虑,选择合适的解析器。1.SAX提供的模型不允许对XML文件随机存取如:当前解析到第3个Element,此时程序无法得到第5个Element的信息,因为还没有解析到第5个Element;同样也无法得原创 2013-09-11 15:54:33 · 658 阅读 · 0 评论 -
JAVA泛型详解
什么是泛型?泛型(Generictype 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。例如,Map类允许您向一个 Map 添加任意类的对象,即使最原创 2013-09-11 15:56:33 · 388 阅读 · 0 评论 -
java 的jar
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的mainclass作为你这个jar包的程序入口。 具体的方法是修改jar包内目录META-INF下的MANIFEST.MF文件。 比如有个叫做test.jar的jar包,里面有一个拥有main函数的mainclass:test.someClassName我们就只要在MANIFEST原创 2013-09-11 15:56:47 · 467 阅读 · 0 评论 -
如何用jar命令对java工程进行打包
想知道什么是jar包,见我的另一篇博文:jar包详解如何用jar命令对java工程进行打包 有时候为了更方便快捷的部署和执行Java程序,要把java应用程序打包成一个jar包。而这个基础的操作有时候也很麻烦,为了方便java程序员们能够方便的打包java应用程序,下面对jar命令进行介绍,并举出几个简单例子针对不同情况进行打包。 一. jar命令用法:原创 2013-09-11 15:56:49 · 414 阅读 · 0 评论 -
java+Jsoup 正则过滤html网页…
java采集数据,获取了 html整个文本之后。该考虑的是如何过滤掉html标签, 得到自己所需要的重要数据了。实现方法有多种办法,第一:用正则,第二:用第三方jar包,其实本质也是封装了正则表达式今天就以 Jsoup 第三方jar包来讲解。jsoup详细资料:http://blog.csdn.net/yjflinchong/article/details/7743995转载注明出处:原创 2013-09-11 15:57:57 · 1691 阅读 · 0 评论 -
java抓取数据+破解屏蔽ip访问【多…
java抓取数据+破解屏蔽ip访问今天就讲解一下,怎么破解 服务器 屏蔽ip的请求。现在大多网站采取 ip访问次数达到一定次数就屏蔽ip的功能。那么要破解服务器的屏蔽。 就只有改变ip, 或者代理ip。如果用代理,哪里去找那么多ip呢。 用adsl获取动态ip不是很简单吗。转载注明出处:http://blog.csdn.net/column/details/threadgrab.ht原创 2013-09-11 15:58:00 · 738 阅读 · 0 评论 -
Java中的线程
Java语法总结 - 线程一提到线程好像是件很麻烦很复杂的事,事实上确实如此,涉及到线程的编程是很讲究技巧的。这就需要我们变换思维方式,了解线程机制的比较通用的技巧,写出高效的、不依赖于某个JVM实现的程序来。毕竟仅仅就Java而言,各个虚拟机的实现是不同的。学习线程时,最令我印象深刻的就是那种不确定性、没有保障性,各个线程的运行完全是以不可预料的方式和速度推进,有的一个程序运行了N次,其结果原创 2013-09-11 16:00:36 · 511 阅读 · 0 评论 -
Race Condition引起的性能问题 转
Race Condition引起的性能问题 RaceCondition(也叫做资源竞争),是多线程编程中比较头疼的问题。特别是Java多线程模型当中,经常会因为多个线程同时访问相同的共享数据,而造成数据的不一致性。为了解决这个问题,通常来说需要加上同步标志“synchronized”,来保证数据的串行访问。但是“synchronized”是个性能杀手,过多的使用会导致性能下降,特别是扩展性下原创 2013-09-11 16:00:40 · 401 阅读 · 0 评论 -
输入流InputStream和输出流OutputS…
总是搞混啊!OutputStream write(byte[] b) 将b.length 个字节从指定的 byte 数组写入此输出流。write(byte[] b, int off,int len) 将指定byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。 abstract intread()原创 2013-09-11 16:01:34 · 715 阅读 · 0 评论 -
nutch搜索引擎的搭建以及配置
可以参见另一个:Lucene.Net系列一本文介绍了什么是Lucene,Lucene能做什么实验环境: vmware 6.0<XMLNAMESPACE PREFIX ="O" /> redhat 5.1软件环境 apache-tomcat-6.0.29.tar.gz nutch-1.0.tar.gz jdk-6u21-linux-i586.bin原创 2013-09-11 16:01:49 · 527 阅读 · 0 评论 -
nutch项目中到hadoop到mapreduce
一、简介 Lucene不是完整的应用程序,而是一个用于实现全文检索的软件库如果你不需要抓取数据的话,应该使用Lucene。常见的应用场合是:你有数据源,需要为这些数据提供一个搜索页面。在这种情况下,最好的方式是直接从数据库中取出数据并用Lucene API 建立索引。1. Nutch是一个基于Hadoop和Lucene的一个网络爬行器,用于收集网页信息。2. 特点:基于Plug原创 2013-09-11 16:01:56 · 546 阅读 · 0 评论 -
利用Nutch和IKanalyzer构造中文分…
详见http://wenku.baidu.com/room?fr=view 1. 配置运行环境:由于本实验采用的工具大多运行在Linux下,选择使用Ubuntu11.10作为本次实验的运行环境。具体运行环境为:Windowns7(32位) Oracle VMVirtualBox 4.1.10Ubuntu 11.10(32位) JDK 1.7.0_03 2. 利用网页爬原创 2013-09-11 16:01:58 · 749 阅读 · 0 评论 -
[Java]读取文件方法大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { public static void readFileByBytes(String fileName) { File file = new File(fileName); Input原创 2013-09-11 16:02:00 · 477 阅读 · 0 评论 -
java的awt和swing
简单的说:AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT为基础的。 具体的说就是: AWT 是Abstract Window ToolKit(抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT中的图形函数与操作系统所提供的图原创 2013-09-11 16:02:07 · 573 阅读 · 0 评论 -
java.swing的一点积累
在帮别人写java刷票的时候,其实自己也很久没写java swing或者javaawt的东西了,基本上没有任何印象了,重新学习,写下一点点的理解:需求1:java swing 中 怎样将数据库中某几列数据调出并显示在标签上这里。可以写一个工具类,专门用来连接数据库,然后有一个方法,可以接受sql语句,返回值是查询结果,然后你在将返回结果通过setText(string)显示到标签(jpan原创 2013-09-11 16:02:09 · 564 阅读 · 0 评论 -
想爬得更高,需要知道的数学体系
转 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进。 为什么要深入数学的世界 作为计算机的学生,我没有任何企图要成为一个数学家。我学习数学的目的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些。说起来,我在刚来这个学校的时候,并没有预料到我将会有一个深入数学的旅程。我的导师最初希望我去做的题目,原创 2013-09-11 16:02:18 · 758 阅读 · 0 评论 -
Java NIO原理和使用
Java NIO(new IOJDK1.4后)非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。JavaNIO原创 2013-09-11 16:03:11 · 437 阅读 · 0 评论