自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 Spring @Autowired注解

Spring 通过 @Autowired注解来实现bean的自动装配。@AutowiredTestService testService;自动装配规则如下:1.先去容器中寻找TestService类型的bean(此时先不扫描testService字段);2.若找不到一个bean,抛出异常;3.若找到一个TestService类型的bean,自动装配,并把bean装配给...

2019-06-15 10:25:37 109

原创 JAVA多线程案例之数字加减(生产者消费者模式)中遇到的问题

直接看一段代码,经典的生产者消费者模式,用多线程来实现数字的加减:package test;/** * Created by ZhuHao on 2018/10/14 */class Resource{ private int num = 0; private boolean flag = true; public synchronized void a...

2018-10-14 22:13:06 996 2

原创 通过反射破除类的封装性

大家都知道JAVA中为了保持类的封装性,往往用private修饰属性,然后public定义set和get方法;下面看一段代码,首先定义一个Book类:package pojo;/** * Created by ZhuHao on 2018/10/8 */public class Book { private String title; private doubl...

2018-10-09 21:09:30 414

原创 String类的两种实例化方式区别

废话不多说先看一段代码:/** * @author ZhuHao * @date 2018/10/2 10:11 */public class TestString { public static void main(String[] args) { String str1 = "Hello"; String str2 = "Hello";...

2018-10-02 10:59:21 244

原创 配置MYSQL的编码

家里电脑安装MYSQL,想修改编码为UTF8,突然发现安装好后安装目录里没有my.ini。找了一会发现在隐藏目录里C:\ProgramData\MySQL\MySQL Server 8.0然后想起今年做了一个H5项目,存微信名称时如果包含表情符号,数据库会出现问题,后来改为UTF8MB4编码后解决,其实MYSQL中的UTF8不是真正的UTF8,最多支持3字节编码,而utf8mb4 字...

2018-09-25 23:40:26 121

转载 JAVA的类加载器

Class文件的认识大家都知道Java中程序是运行在虚拟机中的,我们平常用文本编辑器或者IDE编写的程序都是.java格式的文件,这是最基础的源代码,但是java虚拟机并不能直接识别,所以需要转换成.class文件,.class文件是字节码格式文件。 JAVA类加载流程JAVA系统自带有三个类加载器:BootstrapClassLoader 最顶层的加载类,主要加载核心库,%JRE...

2018-09-24 23:27:15 215

原创 Numpy ndarray数组切片

在Numpy中,对ndarray数组的切片是原始数组的视图,这意味着数据不会被复制,视图上任何的修改都会直接反映到源数组上。arr = np.arange(10)#[0,1,2,3,4,5,6,7,8,9]arr_slice = arr[5:8]arr_slice[1] = 12345#[0,1,2,3,4,5,12345,6,7,8,9]因为Numpy的设计目的是处理大数据,所以如果

2017-11-05 17:06:14 636

转载 import numpy 和 from numpy import*的区别

import numpy,如果使用numpy的属性都需要在前面加上numpyfrom numpy import *,则不需要加入numpy后者不建议使用,如果下次引用和numpy里的函数一样的情况,就会出现命名冲突。

2017-10-22 21:05:43 27058 1

原创 Python数据结构

Python有常用的三大数据结构,分别是List数组、Dict字典和Tuple元组。List列表是一种有序的集合,可以随时添加和删除其中的元素,是Python中最基本的数据结构。列表一般用 [ ] 来定义,列表是一个可变的有序的序列。Dict字典类似于List列表,但更加通用,字典可以看作键集合与值集合之间的映射。字典一般用 { } 来定义,字典可变但无序,列表可以

2017-10-22 17:15:08 324

原创 Pycharm添加包后运行报错module not found

网上搜了搜右击引入的包Make Directory as -> Sources Root后正常,貌似Pycharm不会将目录自动加入source path

2017-09-07 17:37:30 1048

转载 JAVA中String类的hashCode方法

String中hashCode方法的实现源码如下:public int hashCode(){ int h = hash; if(h == 0 && value.length > 0){ char val[] = value; for(int i = 0; i < value.length; i++){ h = 31 * h +

2017-03-13 16:19:02 1868

转载 JAVA泛型extends和super

class Fruit{}class Apple extends Fruit{}class Jonathan extends Apple{}class Orange extends Fruit{}public class Test{ public static void main(String[] args){ List<? extends Fruit> flist =

2016-11-08 20:59:58 243

转载 泛型

在泛型代码内部,无法获得任何有关泛型参数类型的信息。JAVA泛型是使用擦除来实现的,折意味着当你再使用泛型时,任何具体的类型信息都被擦除了,你唯一知道的就是你在使用一个对象。因此List<String>和List<Integer>在运行时事实上是相同的类型。这两种形式都被擦除成它们的“原生”类型,即List。

2016-10-31 16:34:32 194

转载 Java动态代理

动态代理设计模式很可能在不知不觉中使用了,例如Spring中的AOP,Struts2中的拦截器等。 先来看静态代理模式代码:package test;/** * Created by ZhuHao on 2016/10/9. */public interface Subject { public void doSomething();}package test;/** * Cr

2016-10-09 15:54:02 183

转载 Class.this与this

在阅读Java代码时,有时会看到Class.this的使用,这个用法多用在nested class(内部类)中当inner class(内部类)必须使用到outer class(外部类)的this instance(实例)时例:class Outer{ string data = "外部类"; public class Inner{ String data = "内部类"; p

2016-10-08 22:11:23 595

转载 RTTI和反射

在Java中,我们如何在运行时识别类和对象的信息?有两种方法,一种是传统的RTTI,另一种是反射。RTTI: Run-Time Type Information有三种获取对象的方法:class TestClass{}TestClass testClass = new TestClass();Class c = Class.forName("TestClass");TestCla...

2016-10-08 17:32:28 266

原创 String与StringBuilder连接字符串

String对象是不可变的,String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容。而最初的String对象则丝毫未动。不可变性会带来一定的效率问题。为String对象重载的“+”操作符就是一个例子(用于String的“+”与“+=”是Java中仅有的两个重载过的操作符,而Java并不允许程序员重载任何操作符)。操作符“+”

2016-09-27 00:11:59 1388

转载 JAVA中public private protected和默认的区别

JAVA中对类以及类中的成员变量和成员方法通过访问控制符(access specifier)进行区分控制,分别为public、private、protected以及默认(一般称包访问权限)。 同一个包 另一个包 本类 子类 普通类 子类 普通类 private √ 默认 √ √ √

2016-08-19 16:48:09 629

原创 Cordova安装相关环境配置

Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。借助Cordova,可以用HTML和JacaScript制作出能在移动设备上运行的应用。下面介绍配置环境:1.下载安装nodeJSCordova是利用nodeJS进行管理,其中包含了npm管理器,安装后在命令行窗口中输入npm查看是否安装成功。2.安装Cordova

2016-05-26 23:27:58 290

转载 如何设置一个严格30分钟过期的Session

“我在面试的时候,经常会问一个问题:“如何设置一个30分钟过期的Session?”,大家不要觉得看似简单,这里面包含的知识挺多,特别适合考察基本功是否扎实,谁来回答试试?呵呵”为什么问这个问题呢?1.我在Twitter上看到了有人讨论这个问题,2.想起来我经常问这个问题,所以~~在这里,我来解答下这个题目第一种回答那么,最常见的一种回答是:设置Session的过期时间,也就是ses

2016-05-25 23:01:02 446

转载 MySQL存储引擎

MySQL有很多种存储引擎,完整的介绍详见官方文档:MySQL引擎官方介绍其中InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两种类型最主要的差别就是InnoDB支持事务处理与外键和行级锁,而MyISAM更为强调性能。以下是一些细节和具体实现的差别:  ◆1.InnoDB不支持FULLTEXT类型的索引。  ◆2.InnoDB 中不

2015-12-14 20:50:45 219

转载 mysqli 和 PDO

用Php访问数据的时候,你选择MySQLi和PDO,在选择之前,你应该知道些什么呢?

2015-12-11 22:39:04 291

转载 PHP连接MYSQL的三种方式

PHP连接MYSQL数据库时有三种常见的方式:PHP的mysql扩展PHP的mysqli扩展PHP数据对象(PDO)mysql是PHP应用与MySQL数据库交互的早期扩展。mysql扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或更早版本设计的。因此,这个扩展虽然可以与MySQL4..1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提

2015-12-11 21:09:09 1618

原创 PHP报错显示

在用Chrome测试编写Exception的代码时发现没有以往的错误提示,只有浏览器Console中有提示出错,网上搜索一番后修改php.ini中的display_errors = Off改为On即可,该值上面写这Development Value:On,Production Value:Off,回想起当时安装PHP时有两个配置文件php.ini-development和php.ini-produ

2015-12-07 20:55:42 291

转载 PHP的SESSION机制

PHP下的SESSION有两种机制。一、默认机制,用磁盘文件来实现PHP会话。php.ini配置:session.save_handler = files1.session_start()A.session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中,PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是

2015-12-06 16:34:31 300

转载 PHP表单安全性及XSS攻击

表单的一段HTML代码如下:">当提交此表单时,通过method="post"发送表单数据。什么是$_SERVER["PHP_SELF"]变量?$_SERVER["PHP_SELF"]是一种超全局变量,它返回当前执行脚本的文件名。因此,$_SERVER["PHP_SELF"]将表单数据发送到页面本身,而不是跳转到另一张页面。这样,用户就能够在表单页面

2015-12-03 16:46:18 2221

转载 PHP表单处理中GET与POST的区别

PHP中FORM表单的提交主要有两种方式:GET和POSTPHP超全局变量$_GET和$_POST用于收集表单数据(form-data),都创建数组。数组中包含键值对,其中键是表单控件的名称,值来自用户的输入数据。$_GET:通过URL参数传递到当前脚本的变量数组$_POST:通过HTTP POST传递到当前脚本的变量数组通过GET方法从表单发送的信息对任何人都是可

2015-12-03 13:15:55 404

原创 PHP的一些小细节

echo和print之间的差异:echo - 能够输出一个以上的字符串print - 只能输出一个字符串,并始终返回1提示:echo比print稍快,因为它不返回任何值。 单引号与双引号的区别:双引号里面的字段会经过编译器解释,然后再当作HTML代码输出单引号里面的不进行解释,直接输出可见单引号效率高于双引号,所以在PHP中尽量用单引号,而HTML代码中全部用双

2015-12-01 23:03:34 311

原创 什么是ORM,对ORM的个人看法

看看学习细不细,有没有技术判断,PHP开发人员应该知道什么时候使用ORM。对象关系映射(英语:Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系型数据库之间的不匹配而应运而生的一种技术。

2015-12-01 21:10:49 330

原创 Windows右键新建菜单中添加PHP,JS,CSS等文件

进入注册表编辑器,点开HKEY_CLASSES_ROOT,在菜单中找到对应的文件,比如.php,右键新增项,添加ShellNew,然后点击在右边菜单右键新建字符串值,改名为NullFile,有知乎高人说应将.php项的(默认)由空白改为.php,测试时发现不填也没有问题。

2015-12-01 15:04:22 836

原创 Windows下PHP的安装与配置

去PHP的官网下载最新的Windows相应版本,发现除了32位和64位之外,还有non thread safe 和thread safe版本的区别。原来PHP有两种运行模式,一种是独立的可执行程序(通常是exe程序),另一种是以模块的形式嵌入到服务器程序里运行(通常是DLL程序)。独立执行用到的是CGI(Common Gateway Interface,通用网关接口)技术,而另外一种,在I

2015-12-01 13:00:50 329

原创 Windows下Apache的安装

Apache的官网现在只提供源代码,并不提供Apache的下载包,但是会给出其他网站编译好的安装包下载。下载后命令行进入到apache目录下的bin目录(注意用管理员权限运行cmd),输入httpd -k install 把apache安装成windows后台服务,然后利用ApacheMonitor启动apache服务,提示“The requested operation has failed

2015-12-01 10:23:28 292

原创 一个包含中英文的字符串如何获得它的自然长度

考察是否有encoding的知识和意识

2015-11-30 22:45:05 3378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除