精华内容
下载资源
问答
  • java实现热搜词条(热词)

    千次阅读 2019-09-25 10:07:14
    `java实现热搜词条(热词)` 首先先在项目中部署好redis,部署好之后多的话就不说了,直接搬出代码实现: //首先注入RedisTemplate private RedisTemplate<Object, Object> template; //入参每次搜索时输入...

    `java实现热搜词条(热词)`

    首先先在项目中部署好redis,部署好之后多的话就不说了,直接搬出代码实现:

    //首先注入RedisTemplate
    private RedisTemplate<Object, Object> template;
    
    
    //入参每次搜索时输入的字符串,每次都放入ZSet中
    if (StringUtils.isNotBlank(searchStr)) {
                //将查询参数添加到redis的zset中
                template.opsForZSet().incrementScore("hwords", searchStr, 1);
            }
    
    
    //获取热词
    public List getRedisScoreMaxVal() {
            List list = new ArrayList();
            //参数1(redis的K值),参数2(从第几条开始),参数3(从0开始截取多少位)
            Set<ZSetOperations.TypedTuple<Object>> typedTupleSet = template.opsForZSet().reverseRangeWithScores("hwords", 0, 4);
            Iterator iterator = typedTupleSet.iterator();
            while (iterator.hasNext()) {
                ZSetOperations.TypedTuple<Object> typedTuple = (ZSetOperations.TypedTuple<Object>) iterator.next();
                Object value = typedTuple.getValue();
                //获取score值
                double score = typedTuple.getScore();
                list.add(value);
            }
            return list;
        }
    

    这样就实现了通过redis获取热词。

    展开全文
  • 热搜词,即用户搜索频率很高的一些关键词 每个app基本上都会有搜索的功能,而热搜词即可表现出app用户最关注的是什么,又能达到引流的效果;对于用户而言,app给出的热搜词就是搜索频率最高的,而对于app的维护方,...

    【热搜词方案】android/java热搜词方案设计

    尊重原创,转载请注明出处:原文查看惊喜更多 http://blog.csdn.net/qq137722697

    热搜词,即用户搜索频率很高的一些关键词

    每个app基本上都会有搜索的功能,而热搜词即可表现出app用户最关注的是什么,又能达到引流的效果;对于用户而言,app给出的热搜词就是搜索频率最高的,而对于app的维护方,需要根据业务需求可控地对热搜词进行管理,比如有10条热搜词,其中有2-3条其实是管理员手动指定的(有的可能全部都是指定的),下面给出我在实际开发中运用到的一个热搜词方案。

    效果一:

    这里写图片描述

    效果二:
    这里写图片描述:**

    需要解决的问题

    1、这种热搜效果一般是可控的,即前面几个是由后台管理员根据业务需求来设置的(有的完全有管理员来设置);之后的就是根据搜索的频率来排序(可控问题);

    2、关键词相似度问题,比如“搬家”和“我要搬家”,50%的相似度。

    设计方案

    一、词条加入搜索榜条件:

    1、至少两个中文(否则不加入);

    2、该词条与现有词条相似度40%以下(否则相似度最高的搜索量+1);

    3、第一、二名热搜由管理员设置,其他6条与该两条相似度不超过40%。

    二、后台处理流程:

    (A)、加入词条的流程:

    1、获取用户搜索的词条,判断是否2个字中文以上;

    2、判断该词条与数据库中的所有热搜词的相似度;

    3、40%以下就将该词条加入数据库;

    4、40%以上就将与该词条相似度最高的词条+1;

    (B)、管理员设置词条流程:

    1、加入前判断该词条与数据库中所有词条的相似度;

    2、40%以下,加入数据库,并设置是否为管理员指定为Y;

    3、40%以上,将数据库中与改词条相似度最高的作为管理员指定词条;

    (C)、返回热搜词条的流程:

    1、先获取数据库中由管理员设置的两条作为一、二名;

    2、再获取其余按搜索量由高到低排序的6条词条;

    3、合并返回;

    相似度判断

    设计方案出来了,这里最主要的问题就是判断相似度了,下面的一个判断字符串相似度的工具类(工具源自网络,有待优化,这里提供一种思路)即可解决这个问题:

    public class StrSimilarityUtils {
        private static int compare(String str, String target) {
            int d[][]; // 矩阵
            int n = str.length();
            int m = target.length();
            int i; // 遍历str的
            int j; // 遍历target的
            char ch1; // str的
            char ch2; // target的
            int temp; // 记录相同字符,在某个矩阵位置值的增量,不是0就是1
    
            if (n == 0) {
                return m;
            }
    
            if (m == 0) {
                return n;
            }
    
            d = new int[n + 1][m + 1];
    
            for (i = 0; i <= n; i++) { // 初始化第一列
                d[i][0] = i;
            }
    
            for (j = 0; j <= m; j++) { // 初始化第一行
                d[0][j] = j;
            }
    
            for (i = 1; i <= n; i++) { // 遍历str
                ch1 = str.charAt(i - 1);
                // 去匹配target
                for (j = 1; j <= m; j++) {
                    ch2 = target.charAt(j - 1);
                    if (ch1 == ch2) {
                        temp = 0;
                    } else {
                        temp = 1;
                    }
    
                    // 左边+1,上边+1, 左上角+temp取最小
                    d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + temp);
                }
            }
    
            return d[n][m];
        }
    
        private static int min(int one, int two, int three) {
            return (one = one < two ? one : two) < three ? one : three;
        }
    
        /**
         * 获取两字符串的相似度
         *
         * @param str
         * @param target
         * @return
         */
    
        public static float getSimilarityRatio(String str, String target) {
            return 1 - (float) compare(str, target) / Math.max(str.length(), target.length());
    
        }
    }

    用法:

    String str = "搬家";
    String target = "我要搬家";
    System.out.println("similarityRatio=" + StrSimilarityUtils.getSimilarityRatio(str, target));

    运行结果:

    这里写图片描述

    尊重原创,转载请注明出处:原文查看惊喜更多 http://blog.csdn.net/qq137722697

    展开全文
  • java爬虫爬取微博热搜

    千次阅读 2017-12-10 16:03:20
    在网上稍微看了一下,好像还没有爬取微博热搜java实例,心血来潮就动手写一个简易版的,之后会不会升级再说。 首先我们点开微博热搜榜电脑版,然后查看源码。 我们可以看到body的构成很简单,几乎没有什么东西,...

    在网上稍微看了一下,好像还没有爬取微博热搜的java实例,心血来潮就动手写一个简易版的,之后会不会升级再说。

    首先我们点开微博热搜榜电脑版,然后查看源码。




    我们可以看到body的构成很简单,几乎没有什么东西,再往下滑就不得了了,没错,意料之中有很多script

    就算不看源码我们分析也可以知道这应该是一个js动态页面,因为我们一点进去,里面都是实时的数据。

    然后我们fidder抓下数据。

    发现了一个比较有趣的数据包


    这些word=“xxxx”   里面的xxx又是什么呢,很明显是中文的URL编码。

    取第一项写串代码转换成中文一下

    可以看到转成了这玩意



    很明显刚刚的推测是对的。

    值得一题的是刚刚抓到的包,有个项居然特意标注了下is_ad...

    个人猜测可能是广告热搜,估计要被新浪锤了


    好了,我们知道了这些热搜标题的规则再回头来看看网页的源代码。这时候看就会清楚很多了。

    我们看看这一片七七八八的script

    马上就发现了其中很有意思的一个项,为什么说他有趣呢

    因为它很长- -。

    不过这当然还不够,很容易看出它包含了一张表格,并且有50行,很明显就是对应50项的微博热搜


    我们提取出其中的一项tr来看看

    <tr action-type=\"hover\">\n <td class=\"td_01\"><span class=\"search_icon_rankntop\"><em>1<\/em><\/span><\/td>\n <td class=\"td_02\"><div class=\"rank_content\"><p class=\"star_name\">\n <a href=\"\/weibo\/%25E5%2590%25B4%25E6%2598%2595%2B%25E9%259C%25B2%25E8%2583%258C%25E9%2595%25BF%25E8%25A3%2599&Refer=top\" target=\"_blank\" suda-data=\"key=tblog_search_list&value=list_realtimehot\">\u5434\u6615 \u9732\u80cc\u957f\u88d9<\/a>\n <i class=\"icon_txt icon_hot\">\u70ed<\/i><\/p><\/div><\/td>\n <td class=\"td_03\"><p class=\"star_num\"><span>693629<\/span><\/p><\/td>\n <td class=\"td_04\"><p class=\"rank_long\"><span class=\"long_con\" style=\"width:100%\"><\/span><\/p><\/td>\n <td class=\"td_05\"><a href=\"\/weibo\/%25E5%2590%25B4%25E6%2598%2595%2B%25E9%259C%25B2%25E8%2583%258C%25E9%2595%25BF%25E8%25A3%2599&Refer=top\" target=\"_blank\" class=\"search_icon icon_search\" suda-data=\"key=tblog_search_list&value=list_realtimehot\"><\/a><\/td>\n <\/tr>

    看起来乱糟糟的,但是不要紧。

    href里面的显然是连接,在http://s.weibo.com/weibo/后面加上每个热搜的链接就是单个热搜的网址了


    但是我们也可以看到,这串script中的代码和普通的网页源码不大一样,多了许多 \ 在网址中也夹杂着25 估计是为了防止爬虫或者转义设计的。

    同样,我们也可以很容易找到a标签中间的\u5434\u6615 \u9732\u80cc\u957f\u88d9,这很明显就是汉字转码后的编码\u70ed应该就是热度标志图片 693629自然是搜索指数 再后的width就是搜索热度那个进度条,看了一下,热度榜的逻辑应该是第一名满热度条即100%,之后的按搜索指数确定百分比

    这样的项有50项,对应热搜榜单的前50


    ok,基本的结构我们已经摸得比较清楚了


    为了得到包含热搜内容的script,我们可以先把所有的script都提取出来,然后选取其中最长的项,这是一个比较取巧的方法,不过确实是比较简单有效的,因为这项包含了50项热搜内容,肯定是最长的一项。


    仔细观察这一项,我们可以发现,热搜内容是包含在这个div里面的

    然后运用正则表达式就很容易可以获取到需要的内容


    下面是完整代码

    package demo;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.net.URLDecoder;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import javax.print.Doc;
    
    import org.apache.commons.lang3.StringEscapeUtils;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.impl.client.TargetAuthenticationStrategy;
    import org.apache.http.util.EntityUtils;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    
    
    public class weibo_hotnews {
    	public static String webheader="http://s.weibo.com/weibo/";
    	
    	public static void main(String []args) throws UnsupportedEncodingException{
    		String [][]result=patter_script(Analysis_page(get_page("http://s.weibo.com/top/summary?cate=realtimehot")));
    		for (int i = 0; i < result.length; i++) {
    			System.out.println((i+1)+" "+result[i][0]+" "+result[i][1]);
    		}
    	}
    	
    	
    	public static String download_page(String url){
    		String content=null;
    		//创建客户端
    		DefaultHttpClient httpClient=new DefaultHttpClient();
    		HttpGet httpGet=new HttpGet(url);
    		HttpResponse response;
    		try {
    			response = httpClient.execute(httpGet);
    			HttpEntity entity=response.getEntity();
    			if (entity!=null) {
    				content=EntityUtils.toString(entity,"utf-8");
    				EntityUtils.consume(entity);
    			}
    		} catch (ClientProtocolException e) {
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    		}finally {
    			httpClient.getConnectionManager().shutdown();
    		}
    		
    		return content;
    	}
    		
      	public static Document get_page(String url){
    		try {
    			return Jsoup.connect(url).get();
    		} catch (IOException e) {
    			// TODO 自动生成的 catch 块
    			e.printStackTrace();
    			System.out.println("url或网络连接错误");
    			return null;
    		}
    	}
    
    	public static String Analysis_page(Document page_html){
    		Elements links=page_html.getElementsByTag("script");
    		String allstring=null;
    		int tag=0;
    		for(Element link:links){
    			String script=link.toString();
    			if (script.length()>tag) {
    				tag=script.length();
    				allstring=script;
    			}
    		}
    		return allstring;
    	}
    	
    	public static String[][] patter_script(String tag){
    		String [][] result=new String[50][2];
    		int i=0,j=0;
    		Pattern pattern = Pattern.compile("class=\\\\\"star_name\\\\\">\\\\n   <a href=\\\\\"\\\\/weibo\\\\/(.*?)&Refer=top\\\\\" target=\\\\\"_blank\\\\\"   suda-data=\\\\\"key=tblog_search_list&value=list_realtimehot\\\\\">(.*?)<\\\\/a>");  
                Matcher matcher = pattern.matcher(tag);    
                while (matcher.find()) {   
                      result[i][j]=StringEscapeUtils.unescapeJava(matcher.group(2));
                      j++;
                      result[i][j]=webheader+matcher.group(1);
                      j=0;i++;
            }  
                return result;
    	}
    }
    



    确实是实现是爬取的功能,后续可能会继续爬取各个话题的热门评论


    展开全文
  • 1.添加热搜词功能 1.数据库表结构分析 热搜词表一共有三个字段,分别为主键id,搜索的关键词,及该关键字被搜索的次数 2.需求分析 当用户在前端进行搜索操作的时候,我们需要对该关键字进行判断,去根据搜索内容去表...

    1.添加热搜词功能

    1.数据库表结构分析

    热搜词表一共有三个字段,分别为主键id,搜索的关键词,及该关键字被搜索的次数

    2.需求分析

    当用户在前端进行搜索操作的时候,我们需要对该关键字进行判断,去根据搜索内容去表中查询,是否有记录,如果表中没有该记录,则说明该关键字是第一次被查询,需要做新增的操作,我们需要将该关键字存入数据库的表中并将搜索次数赋值为1,如果该字段在数据库中存在的话,就将该条数据的num字段进行+1,然后再存入数据库。

    3.代码实现

    dao层代码

    public interface HotDao extends JpaRepository<Hot,String> {
        //通过Content查询 jpa自定义查询的固定格式findBy+对应条件的字段
        Hot findByContent(String key);
    }
    
    

    service层代码会在原来的查询全部视频列表的方法中进行扩展,会在原来查询的方法中新增加一个参数,搜索的关键字searchValue字段,在service层对该字段进行一个判断,如果该字段为空则说明,用户并没有做查询操作,只是进行小程序视频首页的浏览,会执行原来的逻辑,如果该关键字不为空,则说明用户在进行查询操作,这是我们就要对当前的关键字进行处理了

     /**
         * 查询全部的视频,分页
         * @param searchValue
         * @param pageNum
         * @param size
         * @return
         */
        @Override
        @Transactional
        public PageResult findAllVideos(final String searchValue , Integer pageNum, Integer size) {
    
            //创建一个分页结果类
            PageResult pageResult =new PageResult();
            List<VideosVo> videosVoList =new ArrayList<VideosVo>();
            Page<Videos> videosPage=null;
    
    
            //对搜索的关键字进行查询,如果数据库中没有,就新添加一条数据,如果有,就在num上做+1的操作
            if (!StringUtils.isEmpty(searchValue)){
                //根据搜索内容查询
                Hot byContent = hotDao.findByContent(searchValue);
                //如果返回值为空,则说明该关键字没有被人搜索过,所以将该关键字添加到数据库,并将搜索次数设置为1
                if (StringUtils.isEmpty(byContent)){
                    Hot hot =new Hot();
                    hot.setId(IdUtils.getId());
                    hot.setContent(searchValue);
                    hot.setNum(1l);
                    hotDao.save(hot);
                }
                //如果返回结果不为空,则说明该关键字已经被搜索过,在该关键字的搜索次数字段自增1,并保存
                if (!StringUtils.isEmpty(byContent)){
                    byContent.setNum(byContent.getNum()+1);
                    hotDao.save(byContent);
                }
                //将前端传来的页数和每页数据数放入PageRequest中,因为前端分页都是从1开始的所以,这里我们需要-1
                Pageable pageable =new PageRequest(pageNum-1,size);
                //通过视频描述模糊查询视频,返回分页结果
                videosPage= findAllVideosByVideoDesc(searchValue,pageable);
            }
            //当searchValue为空的时候,说明用户是直接来到视频展示页,没有做搜索操作
            if (StringUtils.isEmpty(searchValue)){
                //创建一个排序条件,降序排列,按照创建日期排序
                Sort sort =new Sort(Sort.Direction.DESC,"createTime");
                //将页数,和每页大小以及排序条件传入分页对象
                Pageable pageable =new PageRequest(pageNum-1,size,sort);
                //返回一个page列表
                videosPage= videosDao.findAll(pageable);
            }
    
            //将当前为第几页传入分页结果中
            pageResult.setPage(pageNum);
            //传入总页数
            pageResult.setTotalPage(videosPage.getTotalPages());
            //传入总记录数
            pageResult.setTotalElements(videosPage.getTotalElements());
            //通过对page中的对象进行遍历,做数据收集,最后返回videosVoList
            for (Videos v:videosPage
                 ) {
                VideosVo videosVo =new VideosVo();
                Users users = usersDao.findOne(v.getUserId());
                BeanUtils.copyProperties(users,videosVo);
                BeanUtils.copyProperties(v,videosVo);
                videosVoList.add(videosVo);
            }
            //将videosVoList存入分页结果中
            pageResult.setRows(videosVoList);
            return pageResult;
        }
    

    2.查询热搜词功能

    1.需求分析

    在前端用户搜索界面时,页面上会有热搜词展示的功能,后端需要将搜索量排行前5的关键词查询到并返回给前端页面

    2.代码实现

       /**
         * 查询热搜词列表,并按照搜索次数降序排列,并只显示前5条数据
         * @return
         */
        @Override
        public List<String> findHot() {
            List<String> list =new ArrayList<String>();
            //定义一个排序的条件,该条件为按照num的大小对数据库表中数据进行降序排列
            Sort sort =new Sort(Sort.Direction.DESC,"num");
            //定义一个分页的类,表示取第1页,每页5条数据,也就是取出前5条数据
            Pageable pageable =new PageRequest(0,5,sort);
            Page<Hot> hotPage = hotDao.findAll(pageable);
            //并将查询到的数据的关键字内容添加进list列表,并返回给前端
            for (Hot h:hotPage
                 ) {
                list.add(h.getContent());
            }
            return list;
        }
    

    3.搜索功能的实现

    1.需求分析

    本项目中使用到的搜索工具为GitHub上的一个开源搜索框架,在后面介绍小程序端实现的时候会详细介绍,而我们后端的接口会在原有的查询视频列表功能上进行扩展,上面在编写热搜词相关操作时候也已经涉及到,因为是搜索操作所以我们需要对用户传进来的关键字进行模糊查询返回结果。

    2.自定义模糊查询

     /**
         * 根据条件分页模糊查询,用来做搜索时候使用
         * @param searchValue
         * @param pageable
         * @return
         */
    
        public Page<Videos> findAllVideosByVideoDesc(final String searchValue,Pageable pageable){
            Page<Videos> videoDesc = videosDao.findAll(new Specification<Videos>() {
                @Override
                public Predicate toPredicate(Root<Videos> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
                    Predicate predicate = cb.like(root.get("videoDesc").as(String.class), "%" + searchValue + "%");
                    return predicate;
                }
            }, pageable);
            return  videoDesc;
        }
    

    其余逻辑上面也已经介绍了,就不多说了

    展开全文
  • import java .util .* ; @RestController @RequestMapping( "/hotKey" ) public class HotKeyController { private Logger logger = LoggerFactory .getLogger (this .getClass ()) ; @Resource(name = ...
  • 前提:存在一个表保存每次的查询框输入的内容。 需求:① 查询出该表里搜索量最大的,比如奥运会,北京奥运会,XXXa奥运会, 那么“奥运会”就是搜索量最大的。 ② 如果用户在搜索框里面输入一个词,查询前几个匹配...
  • 使用java和redis实现一个简单的热搜功能,具备以下功能: 1:搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录 2:用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符...
  • 根据上述的简单需求,我就想用原生JAVA通过某些数据结构实现,由于知识面有限且笔者目前是名在校的学生,实现了英文下的分词、中文下的分词。但是遇到中英文混排的怎么也合并不了。经过两天的各种思考各种分析结果以...
  • java实现站内搜索

    千次阅读 2013-04-16 22:10:10
    我们首先想到的问题是模糊匹配的原则,这样会有两种方式我们可以解决,一种是通过数据库的方式来实现, 一种是通过java提供的match来显示。 下面是我的通过数据库的方式来实现的, 个人认为这样实现比较直观易懂 ...
  • java 项目在Idea里有很多种部署方式,但是有时候我们会发现,当你按照网上的方式设置好之后却并不起作用,今天来说一下我如何实现的 1.修改服务器配置,在Idea窗口失去焦点时,更新类和资源 Tomcat -> Edit...
  • redis 实现搜索词统计

    千次阅读 2020-06-03 14:28:45
    一个项目中,遇到了搜索词统计的需求,我使用了 Redis 的五大数据类型之一 Sorted Set 实现。目前有两项数据需要统计:“当日搜索词 top10”和“当周搜索词 top10”。 关于这两项数据的统计方法,目前想到了两...
  • 开头废话 一直想实现一个原创的热部署功能,其实Spring Loader,还有Tomcat都实现了相关...要实现热替换,一般想到的是实现classLoader(如果您对ClassLoader还不是很了解的,请查阅这篇博客https://www.ibm.com/de...
  • java部署和加载

    千次阅读 2016-08-23 11:28:54
    部署和加载其实是两个类似但不同的概念 一、部署与加载 在应用运行的时升级软件,...加载的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文
  • 二进制串模糊搜索的Java实现

    千次阅读 2011-06-04 21:37:00
    有高手说这是文件系统缓存的问题,首次读是冷启动,第二次读是启动。如果是这样瓶颈可能出在跳偏移的地方或者逐个读取long的地方,还没测过哪个严重些,如果实后者,那必须减少逐个读取的个数,也就是必须增加复制...
  • Java并发(Runnable+Thread)实现硬盘文件搜索

    千次阅读 多人点赞 2021-01-20 11:58:08
    这一篇通过实际的案例进行实践Java并发多线程——文件搜索,简单来说,这也是电脑文件...在文件搜索这个案例中,学习了Java并发原理的实际应用,首先设计一种串行的版本,然后再实现并发的版本,这也是一个改进的过程。
  • 这是一篇关于项目经验积累的文章,在实际的项目中我们常常会遇到很多的问题,可能有很多种不同的解决...有这么一个需求,我们提供一个接口标准,写成了一个jar,这个标准给不同的厂商去实现实现完了打成一个jar,.
  • /** * * @Description 首页搜索 * @param articleTitles 文章标题 * @param pageNumber 当前页码 * @param pageSize 每页显示条数 * @return Map 返回状态与文章列表 * Create at: 2019-04-10 08:55...
  • 部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效(对配置文件的修改除外)。 如果你使用的最新版的Myeclipse或者是 intellij idea编辑器的话,不存在部署的问题,...
  • 我们首先想到的问题是模糊匹配的原则,这样会有两种方式我们可以解决,一种是通过数据库的方式来实现, 一种是通过java提供的match来显示。 下面是我的通过数据库的方式来实现的, 个人认为这样实现比较直观易懂 ...
  • 你知道这个功能是如何实现的吗? 实际上,它的实现并不复杂。搜索引擎每天会接收大量的用户搜索请求,它会把这些用户输入的搜索关键词记录下来,然后再离线地统计分析,得到最热门的 Top 10 搜索关键词。 那请你...
  • java热修复实例

    千次阅读 2017-04-21 17:36:02
    关于java热修复的一次尝试
  • libvirt Java 实现远程管理虚拟机

    千次阅读 2020-03-01 17:01:52
    libvirt Java 实现远程管理虚拟机 from csdn.kyyee 虚拟化简介 虚拟化是将计算机的各种实体资源(CPU、内存、存储、网络等)进行抽象后呈现出来,即是将一台物理计算机分割成多台计算机,实现在一台计算机上运行多台...
  • java实现简繁字体转换

    千次阅读 2014-04-11 20:38:47
    那天需要实现简繁体转换,于是上网查了一下,大家的方法主要都是建立两个等长的数组,一个存放简体汉字,另一个存放对应的繁体汉字,然后根据下标进行对应转换。 两个数组包含主要的有繁体字的那些汉字就足够了。...
  • 实现词云图2种方式word_cloud、stylecloud word_cloud :http://amueller.github.io/word_cloud/ stylecloud :https://github.com/minimaxir/stylecloud 1、需要先添加一下maven依赖 <dependency> <...
  • 先看下效果图1、流式布局实现继承ViewGroup,重写onMeasure,onLayout方法。代码如下:package com.example.lin.flowlayoutdemo;import android.content.Context; import android.util.AttributeSet; import android...
  • 各大平台热搜排行榜原型

    千次阅读 2018-07-11 22:04:36
    前言:腾讯、新浪微博等平台都有一个热搜的功能,目的是让用户看到最近一段时间网友们都在搜索什么,以便实时掌握热点资讯。热搜排行榜的算法其实非常简单,用C语言就可以写出来。 编程思想:每个被搜索的词条都...
  • Java大佬在地表最强Java企业(阿里)面试总结

    万次阅读 多人点赞 2020-08-23 19:48:06
    面试题真的是博大精深,也...但二者都实现了Map接口。 Hashtable 中的方法是Synchronize的,而HashMap中的方法在缺省情况下是非Synchronize的。 HashMap把Hashtable的contains方法去掉了,改成containsValue和contains.
  • java原理实现: 从虚拟机到源码

    千次阅读 2018-07-07 15:13:55
    java原理实现: 从虚拟机到源码 ​ Sun公司与其他组织发布了许多可以运行在各种不同平台上的虚拟机, 这些虚拟机都可以编译和执行同一种平台无关的字节码, 从而实现了"一次编写, 到处运行". 了解Java内存 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,408
精华内容 10,963
关键字:

java实现热搜

java 订阅