<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wang8978的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wang8978</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wang8978]]></copyright><item><title><![CDATA[使用flowdroid得到apk的调用关系图]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/88243907</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/88243907</guid><author>wang8978</author><pubDate>Wed, 06 Mar 2019 17:11:14 +0800</pubDate><description><![CDATA[使用flowdroid得到apk的调用关系图

问题描述

直接调用constructCallgraph()得到的调用关系图并不完整，以QKSMS代码为例。

TransactionService.java的部分源码如下所示



用flowdroid生成的调用关系图，其中onReceive()调用的函数输出如下：



从运行结果中可以看出得到的调用函数并不完整，getNetworkInfo...]]></description><category></category></item><item><title><![CDATA[Windows下eclipse中flowdroid的构建与运行]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/88241917</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/88241917</guid><author>wang8978</author><pubDate>Wed, 06 Mar 2019 17:03:28 +0800</pubDate><description><![CDATA[为了搭建flowdroid，踩了很多坑，记录下。

环境构建

1、JDK一定要选择jdk1.8以上的版本，选择最新或者较新的eclipse，这样就会内嵌maven环境；

2、安装相关插件，因为导入flowdroid项目时，总会遇到各种各样的问题，比如依赖的jar包不存在又下载不到，或者时pom文件报错，后来安装了很多插件才解决问题（下面提供的列表中的某些可能不是必需的）：


			Name
...]]></description><category></category></item><item><title><![CDATA[基于dubbo实现人员管理系统的增删改查]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/88240493</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/88240493</guid><author>wang8978</author><pubDate>Wed, 06 Mar 2019 16:14:51 +0800</pubDate><description><![CDATA[React连接后台服务

刚开始接触reactjs, nodejs，dubbo等，写的也只是自己搭建应用时的一些想法，中间有表述不对的地方还请大家多多指正 20180518。



一、需求描述

用Java实现一个web程序，可以实现对数据库的增删改查；
	前端部分，采用react实现的人员管理系统(后附链接);
	服务部分，结合使用 dubbo实现。
二、问题分析

目前人员管理系统的数据源...]]></description><category></category></item><item><title><![CDATA[Spring实战第一章AOP示例：游吟诗人和骑士]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/88233099</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/88233099</guid><author>wang8978</author><pubDate>Wed, 06 Mar 2019 14:04:45 +0800</pubDate><description><![CDATA[问题

运行报错：

警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'knight' defined...]]></description><category></category></item><item><title><![CDATA[Java字符串相关问题]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/80359637</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/80359637</guid><author>wang8978</author><pubDate>Fri, 18 May 2018 09:29:54 +0800</pubDate><description><![CDATA[很久以前写的文章，一直没发出来，是因为问题虽然解决了，但是原理却不是很清楚，希望看到并且知道为什么的亲们提供个答案。Java字符串相关问题 一、问题描述通过Java程序的exec函数执行命令时发现命令order命令没有执行（order=”D:/apktool/dex2jar-0.0.9.15/dex2jar.bat D:/apktool/classes.dex”，此命令如果成功执行的话，会在D:/...]]></description><category></category></item><item><title><![CDATA[Java并发之AQS原理详解]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/79973860</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/79973860</guid><author>wang8978</author><pubDate>Tue, 17 Apr 2018 14:14:36 +0800</pubDate><description><![CDATA[一、AbstractQueuedSynchronizer的用途(下面简称AQS，jdk 1.8)AQS是借助FIFO等待队列，用来实现同步器的同步框架，通俗的来说，它是用来实现锁的工具，一般来说，它需要实现这些功能：让得到锁的线程继续向下执行，让没有得到锁的线程阻塞，需要时唤醒等待的线程；根据锁的用途，制定相应地获取锁的策略，比如互斥锁的话必须保证同一时刻只有一个线程可以得到锁，共享锁的话保证满足...]]></description><category></category></item><item><title><![CDATA[ThreadLocal原理详解]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/79964738</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/79964738</guid><author>wang8978</author><pubDate>Mon, 16 Apr 2018 19:02:58 +0800</pubDate><description><![CDATA[注：jdk 1.8先讲的是具体实现，后面是总结，可以根据个人喜好调整顺序1、  在线程内部有一个ThreadLocalMap属性；/* ThreadLocal values pertaining  to this thread. This map is maintained  * by the ThreadLocal class. */  ThreadLocal.ThreadLocalMap th...]]></description><category></category></item><item><title><![CDATA[数据结构与算法分析 ——回溯算法之收费公路重建问题]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/77017600</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/77017600</guid><author>wang8978</author><pubDate>Wed, 09 Aug 2017 22:00:33 +0800</pubDate><description><![CDATA[数据结构与算法分析第十章回溯算法之收费公路重建问题
 
一、  问题描述：
设给定N个点p1, p2,…,pn,它们位于x-轴上。xi是pi点的x坐标。这N个点确定了N(N-1)/2个点间距离。显然，如果给定点集，那么容易以O(N2)事件构造距离集合。收费公路重建问题是从这些距离重新构造出点集。
 
二、解题思路：
回溯算法：
对于大多数的回溯算法，最方便的实现方法是使用递归，该算法]]></description><category></category></item><item><title><![CDATA[数据结构与算法分析——字谜问题实现]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/70208628</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/70208628</guid><author>wang8978</author><pubDate>Mon, 17 Apr 2017 10:49:33 +0800</pubDate><description><![CDATA[数据结构与算法分析 第一章课后习题答案第2题
 
一、问题描述：

 
二、解题思路：（针对的是字典不太大的情况）
1、单词表中的每个单词均可以用一个四元组（行，列，方向，长度）表示；
2、其中方向可分为四种：水平（包括向左、向右）、竖直（包括向上、向下）、右下（包括右下、左上）、左下（包括左下、右上）；
3、找出每个方向上的最长字符串，以水平方向（向右）为例，最长字符串为：thi]]></description><category></category></item><item><title><![CDATA[JPype入门实例]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/60960641</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/60960641</guid><author>wang8978</author><pubDate>Thu, 09 Mar 2017 15:04:31 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/mumuli/p/5806963.html
 
因项目需要用python调用java程序，所以特意搜了搜JPype，但调了好几天才成功，尽管心好累，还是打算记录下，以此为鉴，避免再走弯路。
 
一、测试代码
1、编写HelloWorld.py脚本


#HelloWorld.py
 
from jpype import *]]></description><category></category></item><item><title><![CDATA[rabbitmq的web管理界面无法使用guest用户登录]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/53813757</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/53813757</guid><author>wang8978</author><pubDate>Thu, 22 Dec 2016 14:25:51 +0800</pubDate><description><![CDATA[因为项目需要，在本地主机上安装了rabbitmq(3.6.6),后发现，只有该主机能够通过guest登录管理控制台，别的主机登录后提示登录失败。查阅了下后，发现官方文档说：由于账号guest具有所有的操作权限，并且是默认账号，出于安全因素的考虑，guest用户只能通过localhost登录使用，并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq。所以，解决方案就是新建用户。
]]></description><category></category></item><item><title><![CDATA[selenium异常：org.openqa.selenium.remote.UnreachableBrowserException]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52971185</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52971185</guid><author>wang8978</author><pubDate>Sun, 30 Oct 2016 11:02:25 +0800</pubDate><description><![CDATA[这几天在使用webdriver打开chrome浏览器的时候，程序在运行到driver.manage().window().maximize(); 
//将窗口最大化，就报错了：
 
    org.openqa.selenium.remote.UnreachableBrowserException:Error communicatingwith the  remotebrowser.
 I]]></description><category></category></item><item><title><![CDATA[selenium:chromedriver与chrome版本的对应关系]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52934506</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52934506</guid><author>wang8978</author><pubDate>Wed, 26 Oct 2016 15:05:09 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/huilan_same/article/details/51896672
再使用selenium打开chrome浏览器的时候，需要用chromedriver，而chromedriver与chrome的版本也是要相互适宜的，对应关系如下：



chromedriver版本
支持的Chrome版本




v2.24
v52-5]]></description><category></category></item><item><title><![CDATA[键盘记录：vkCode与KeyEvent]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52900048</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52900048</guid><author>wang8978</author><pubDate>Sun, 23 Oct 2016 09:31:25 +0800</pubDate><description><![CDATA[今天在做鼠标及键盘的记录与回放时，碰到通过Hook记录下来的键盘的vkCode与KeyEvent中对应的键码部分不相同。
这些不同之处主要体现在符号键（如：“，”“。”等）和控制键（如：“Shift”、“Ctrl”、“Enter”）等上面。
 
经逐一测试，记录下两者的对应关系（红色为不同，蓝色为相同）：




键


VkCode


KeyEvent事件

]]></description><category></category></item><item><title><![CDATA[Java终止某个线程的方法]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52863433</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52863433</guid><author>wang8978</author><pubDate>Wed, 19 Oct 2016 21:14:20 +0800</pubDate><description><![CDATA[转自：http://andyzhu.blog.51cto.com/4386758/848946
在Java中有专门终止某个线程的API，如stop()和interrupt()。其中stop()由于安全机制的我问题已经被废弃不用，现在就剩下interrupt。其实这个方法并不是一个终断动作的操作，而是一个设置终断状态的操作。它需要和isInterrupted()配合使用。例如：
package ]]></description><category></category></item><item><title><![CDATA[键盘模拟Ctrl+C,并读取复制内容]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52774856</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52774856</guid><author>wang8978</author><pubDate>Mon, 10 Oct 2016 09:52:50 +0800</pubDate><description><![CDATA[近日碰到一个模拟键盘点击Ctrl+C，并读取复制内容相关的问题，记录以下：
1、  
模拟键盘点击Ctrl+C：




publicvoid keyPressWithCtrl(Robot
r,intkey){
       r.keyPress(KeyEvent.VK_CONTROL);
       r.keyPress(key);
       r.keyRelease]]></description><category></category></item><item><title><![CDATA[短时间内向rabbitmq的某条队列发送大量消息时，可能会丢包]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52280040</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52280040</guid><author>wang8978</author><pubDate>Mon, 22 Aug 2016 20:37:18 +0800</pubDate><description><![CDATA[短时间内当向rabbitmq的某条队列发送大量消息时，可能会丢包，为了防止丢包，可以控制发送速率——发送方每发送一些消息，就sleep一会儿。]]></description><category></category></item><item><title><![CDATA[将byte数组转化为string，及其还原。]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52279661</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52279661</guid><author>wang8978</author><pubDate>Mon, 22 Aug 2016 19:47:04 +0800</pubDate><description><![CDATA[测试程序的时候，发现从内网从外网接收到的应用大小与原应用大小不符，调试了好久才发现是byte数组与string相互转化出现了问题。根据项目需要，外网发送应用时，先将byte[]转化为字符串，然后内网接收的时候，再将字符串转化为byte[]，而由于编码的问题，得到的byte[]与原byte[]不相同，导致接收到的文件大小出错，无法进行后续操作。为了保证得到原byte[]，可以采用new sun.mi]]></description><category></category></item><item><title><![CDATA[BASE64Encoder及BASE64Decoder的正确用法]]></title><link>https://blog.youkuaiyun.com/wang8978/article/details/52279620</link><guid>https://blog.youkuaiyun.com/wang8978/article/details/52279620</guid><author>wang8978</author><pubDate>Mon, 22 Aug 2016 19:40:42 +0800</pubDate><description><![CDATA[一直以来Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法，并没有在java api中公开过，不属于JDK标准库范畴，但在JDK中包含了该类，可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。如下图！]]></description><category></category></item></channel></rss>