<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[野指针er]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/plain_maple</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; plain_maple]]></copyright><item><title><![CDATA[基于 HttpClient 4.5 的 HttpClientUtils]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/92802285</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/92802285</guid><author>plain_maple</author><pubDate>Wed, 19 Jun 2019 01:01:18 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

我编写工具类所参考的文档
pache HttpClient：
http://hc.apache.org/httpcomponents-client-ga/index.html
中文翻译教程：
https://www.yiibai.com/apache_httpclient
stackoverflow 关于SSL的讨论：
https://stackoverfl...]]></description><category></category></item><item><title><![CDATA[Python 异常]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89301955</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89301955</guid><author>plain_maple</author><pubDate>Sun, 14 Apr 2019 21:09:27 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

遇见 ZeroDivisionError 异常
print(5/0)

Traceback：
Traceback (most recent call last):
  File "d:/vscode/hello.py", line 1, in &lt;module&gt;
    print(5/0)
ZeroDivisionError: division ...]]></description><category></category></item><item><title><![CDATA[Python 文件]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89300616</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89300616</guid><author>plain_maple</author><pubDate>Sun, 14 Apr 2019 19:44:46 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

从文件中读取数据
首先编写 pi.txt
3.1415926535
  8979323846
  2643383279

然后编写 file_reader.py
# 当前运行的是file_reader.py，因此Python在file_reader.py所在的目录中查找pi.txt。
# 关键字with在不再需要访问文件后将其关闭。
with open('p...]]></description><category></category></item><item><title><![CDATA[Python 类]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89297400</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89297400</guid><author>plain_maple</author><pubDate>Sun, 14 Apr 2019 15:53:20 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

创建和使用类
class Dog():
    """一次模拟小狗的简单尝试"""
    # 在这个方法的定义中，形参self必不可少，还必须位于其他形参的前面。
    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        s...]]></description><category></category></item><item><title><![CDATA[Python 函数]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89265167</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89265167</guid><author>plain_maple</author><pubDate>Fri, 12 Apr 2019 23:44:21 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

定义函数
def greet_user1():
    """文档字符串的注释，描述函数做什么"""
    print("Hello!")

greet_user1()

输出
Hello!

向函数传递信息
def greet_user2(username):
    """文档字符串的注释，描述函数做什么"""
    print("Hello, " ...]]></description><category></category></item><item><title><![CDATA[Python 用户输入和while循环]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89219325</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89219325</guid><author>plain_maple</author><pubDate>Thu, 11 Apr 2019 20:30:00 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

input()获取用户输入
message = input("Tell me something, and I will repeat it back to you: ")
print(message)

输出
Tell me something, and I will repeat it back to you: PM实验室
PM实验室

函数input(...]]></description><category></category></item><item><title><![CDATA[Python 字典]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89211375</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89211375</guid><author>plain_maple</author><pubDate>Thu, 11 Apr 2019 15:11:00 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

在Python中， 字典是一系列键-值对。每个键都与一个值相关联，你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上，可将任何Python对象用作字典中的值。
字典的每个键值 key-value 用冒号分割，每个键值对组合之间用逗号分割，整个字典包括在花括号中。一起来看下面的简单示例。
字典alien_0存储了外星人的颜...]]></description><category></category></item><item><title><![CDATA[Python if语句]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89211255</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89211255</guid><author>plain_maple</author><pubDate>Thu, 11 Apr 2019 15:07:22 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

简单的if语句
cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
    if car == 'bmw':
        print(car.upper()) 
    else:
        print(car.title())

输出
Audi
BMW
Subaru
Toyota...]]></description><category></category></item><item><title><![CDATA[Python 操作列表]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89211192</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89211192</guid><author>plain_maple</author><pubDate>Thu, 11 Apr 2019 15:05:41 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

for循环遍历列表
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
    print(magician)

输出
alice
david
carolina

Python根据缩进来判断代码行与前一代码行的关系。上例中，print这一行只有缩进了才是for循环的一部分...]]></description><category></category></item><item><title><![CDATA[Python 列表]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89201258</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89201258</guid><author>plain_maple</author><pubDate>Thu, 11 Apr 2019 02:12:42 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

1、列表
打印列表
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

输出
['trek', 'cannondale', 'redline', 'specialized']

输出列表第一个位置元素
bicycles = ['trek', 'cannond...]]></description><category></category></item><item><title><![CDATA[Python 变量和简单数据类型]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/89118644</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/89118644</guid><author>plain_maple</author><pubDate>Tue, 09 Apr 2019 00:55:03 +0800</pubDate><description><![CDATA[欢迎关注微信公众号：PM实验室

1、hello world
print("hello python world！")

输出
hello python world！

2、变量
添加一个msg变量
msg = "hello python world!"
print(msg)

输出
hello python world！

修改msg再打印
msg = "hello python worl...]]></description><category></category></item><item><title><![CDATA[Junit 测试 Service 层]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/70176103</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/70176103</guid><author>plain_maple</author><pubDate>Fri, 14 Apr 2017 21:19:10 +0800</pubDate><description><![CDATA[1、首先引入 junit-4.12 和 hamcrest-core 包或者使用Maven。jar包下载2、建立测试类：public class UserTest {                                                                                            private UserService userSer]]></description><category></category></item><item><title><![CDATA[IDEA中Hibernate找不到Persistence窗口]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/70161358</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/70161358</guid><author>plain_maple</author><pubDate>Thu, 13 Apr 2017 19:41:53 +0800</pubDate><description><![CDATA[在引入Hibernate的Jar包后，根据数据库中的表生成实体类，需要找到Persistence窗口再进行操作，可是找不到这个窗口怎么办？打开Projuct Structure面板—>Modules—>点击“+”号—>选择Hibernate—>最后OK，窗口就出来了。]]></description><category></category></item><item><title><![CDATA[Spring AOP 之 java 动态代理基础]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/62428719</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/62428719</guid><author>plain_maple</author><pubDate>Thu, 16 Mar 2017 17:21:50 +0800</pubDate><description><![CDATA[java提供的动态代理机制是一种强大的语言结构，可以为一个或多个接口创建代理对象而不需要预先拥有一个接口的实现类。Spring的AOP也是建立在java的代理机制之上的，本篇文章通过一个例子简单理解一下java的动态代理机制实现AOP。本例将通过动态代理来实现日志输出功能：1、编辑Login接口，提供login()方法用于执行管理员登录操作。public interface Login {]]></description><category></category></item><item><title><![CDATA[java 使用反射小结]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/62036947</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/62036947</guid><author>plain_maple</author><pubDate>Tue, 14 Mar 2017 09:21:15 +0800</pubDate><description><![CDATA[简介：JAVA反射机制是在程序运行状态中，对于任意一个类，都能够知道这个类的所有属性和方法；对于任意一个对象，都能够调用它的任意属性和方法；这种动态获取信息以及动态调用对象方法的功能称为 java 的反射机制。本文总结了 java 反射的基本使用方法，不涉及反射机制原理。动态加载类People 接口：public interface People {
    public void eat();
}]]></description><category></category></item><item><title><![CDATA[Struts 2 简单使用 log4j2（timer 拦截器不输出信息）]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/60479246</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/60479246</guid><author>plain_maple</author><pubDate>Sun, 05 Mar 2017 22:00:06 +0800</pubDate><description><![CDATA[今天刚学习拦截器的时候，书上说使用内置的 timer 可以打印出执行时间：<package name="helloworld" extends="struts-default">
    <action name="HelloWorldAction" class="com.guofeng.ssh.HelloWorldAction">
        <result name="success">/h]]></description><category></category></item><item><title><![CDATA[java 加密之数字签名算法]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/60468158</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/60468158</guid><author>plain_maple</author><pubDate>Sun, 05 Mar 2017 15:58:52 +0800</pubDate><description><![CDATA[简介数字签名算法是带有公钥和私钥的消息摘要算法，私钥签名，公钥验证，用来验证数据完整性，验证数据来源，抗否认。数字签名必须具备 5 个特性： 
（1）签名是可信的。 
（2）签名是不可伪造的。 
（3）签名是不可重用的。 
（4）签名的文件是不可改变的。 
（5）签名是不可抵赖的。流行的有RSA、DSA、ECDSA算法。RSA算法包括MD和SHA两类。其中 MD5withRSA 的java实现：pu]]></description><category></category></item><item><title><![CDATA[Struts2.5 通配符不能使用问题]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/60141160</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/60141160</guid><author>plain_maple</author><pubDate>Fri, 03 Mar 2017 15:42:08 +0800</pubDate><description><![CDATA[今天在上机时，登录和注册使用通配符在 Struts 2 的低版本好用，但是回到宿舍后使用最新的 2.5.10 版本就不可以用了。 <action name="*Action" class="com.guofeng.action.UserAction" method="{1}">
        <result name="success">{1}_success.jsp</result>]]></description><category></category></item><item><title><![CDATA[IDEA 的工程引入 Struts 2]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/59122874</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/59122874</guid><author>plain_maple</author><pubDate>Wed, 01 Mar 2017 20:03:27 +0800</pubDate><description><![CDATA[1、打开官网 
http://struts.apache.org/download.cgi#struts2510 
下载Struts 2.5.10的struts-2.5.10-min-lib.zip，解压后里面包含8个核心基础jar包。2、运行IDEA，新建java Enterprise工程，首先选择SDK版本和java EE版本，然后选择使用Struts2，会看到下方出现3种添加库的方式，比如us]]></description><category></category></item><item><title><![CDATA[java 加密之非对称加密算法]]></title><link>https://blog.youkuaiyun.com/plain_maple/article/details/58178924</link><guid>https://blog.youkuaiyun.com/plain_maple/article/details/58178924</guid><author>plain_maple</author><pubDate>Mon, 27 Feb 2017 18:16:35 +0800</pubDate><description><![CDATA[简介对称加密算法在加密和解密时使用的是同一个秘钥；而非对称加密算法需要两个密钥来进行加密和解密，这两个秘钥是公开密钥（public key，简称公钥）和私有密钥（private key，简称私钥）。在非对称加密中使用的主要算法有：RSA、Elgamal、背包算法、Rabin、D-H、ECC等。RSARSA是基于大数因子分解难题所实现的加密算法，并且RSA不只可以实现加密，还可以在数字签名中使用。JD]]></description><category></category></item></channel></rss>