- 30秒知识快学插件指南
瞿旺晟
30秒知识快学插件指南30_seconds_of_knowledgeGoogleChromeExtensionthatletsyougainnewdeveloperskills,everytimeyouopenaNewTab.项目地址:https://gitcode.com/gh_mirrors/30/30_seconds_of_knowledge项目介绍30秒知识快学是一款专为开发者设计的Goo
- 解决:npm : 无法加载文件 D:\Node\node_global\npm.ps1,因为在此系统上禁止运行脚本
小李搬砖
npm前端node.js
1.原因有一次下载了pnpm并配置环境后,不知道是不是配置环境的时候操作错了还是其他什么原因。再次打开一个项目使用npm或pnpm命令的时候就报错了。首先理解一下报错信息的意思,无法加载npm下载时文件存放的路径(D:\Node\node_global)下的npm.ps1这个文件,打开一看是关于执行在powershell上,node环境下执行npm相关命令的脚本,当我们使用npm命令的时候,操作系
- SQLAlchemy 介绍与实践
cliffordl
pythonpython数据库
postgresql实践pydantic实践1.SQLAlchemy介绍SQLAlchemy是一个ORM框架。SQLAlchemy是一个用于Python的SQL工具和对象关系映射(ORM)库。它允许你通过Python代码来与关系型数据库交互,而不必直接编写SQL语句。简单介绍一下对象关系映射吧,对象关系映射(英语:ObjectRelationalMapping,简称ORM,或O/RM,或O/Rma
- FastDFS实用笔记 (Docker 搭建环境 + 整合 SpringBoot)
字节全栈_kYu
笔记dockerspringboot
解决了大容量存储和负载均衡的问题,特别适合中小文件(4KB>文件路径为空…”);return“文件路径不能为空”;}try{StorePathstorePath=StorePath.parseFromUrl(fileUrl);storageClient.deleteFile(storePath.getGroup(),storePath.getPath());}catch(Exceptione){l
- 基于TensorFlow 2.0的DBN故障诊断程序
ydlhnust
深度学习
以下是一个基于TensorFlow2.0的DBN故障诊断程序,包含特征可视化和结果分析。程序使用合成振动数据进行演示,可直接运行。```pythonimportnumpyasnpimportmatplotlib.pyplotaspltimporttensorflowastffromtensorflow.kerasimportlayers,modelsfromsklearn.model_select
- 分布式系统架构设计原理与实战:分布式缓存的设计与实现
AI天才研究院
计算计算大数据人工智能语言模型AI大模型LLMJavaPython架构设计AgentRPA
1.背景介绍分布式系统架构设计原理与实战:分布式缓存的设计与实现作者:禅与计算机程序设计艺术背景介绍1.1分布式系统的基本概念分布式系统是指由多个autonomouscomputer组成,这些computer通过网络相互协作来完成共同的task。它允许multiplecomputers在同一个时间访问sharedresources,同时保证systemconsistency。1.2什么是分布式缓存
- 在Linux或macOS环境中安装Rust
晓恩ghm
rustrust
在Linux或macOS环境中安装Rust一、在Linux或macOS环境中安装`Rust`二、更新与卸载三、输出`helloworld`一、在Linux或macOS环境中安装Rust安装过程也是非常简单的,打开命令行终端,并且输入命令:curlhttps://sh.rustup.rs-sSf|sh这是下载并通过脚本来安装rustup工具,进而安装最新的Rust稳定版本。该脚本可能会在执行过程中请
- yfinance的使用
ilikework
python量化交易
最近想学习一下量化交易,就找了些python的库,yfinance这个是比较靠谱的库。功能有哪些还不是太清楚,似乎不支持多年的PE指标获取。下面是外汇历史数据的取得data=yf.download(tickers='USDJPY=X',#通貨ペアperiod='1d',#データ取得期間interval='1m',#データ表示間隔)下面是股票数据的取得tickers=['600875.SS']for
- AVR单片机ISP接口
Kelvin_Ngan
嵌入式单片机
标准10PIN接口:1脚接单片机的MOSI,5脚接单片机的RST,7脚接单片机的SCK,9脚接单片机的MISO关于不同下载器的使用:1、找到对应的驱动(慎用免驱的下载器)和烧写软件,如果不清楚,可以到淘宝搜索AVRISP下载器,找几款把软件都下载来试一下。2、不能烧写,先检查电路连接有没有问题,电源是否足够,一般到这里就可以排除硬件原因了(不要老纠结于,可能仿真器坏了?单片机没有起振?电路有虚焊?
- OpenHarmony开发自测试执行框架_openharmony tdd testsize
2401_89317507
tdd
staticvoidSetUpTestCase(void);staticvoidTearDownTestCase(void);voidSetUp();voidTearDown();};voidCalculatorSubTest::SetUpTestCase(void){//inputtestsuitsetupstep,setupinvokedbeforealltestcases}voidCalcu
- 从零开始构建一个简单的Python Web爬虫实战指南与技巧
一键难忘
python前端爬虫PythonWeb
从零开始构建一个简单的PythonWeb爬虫实战指南与技巧随着数据科学和大数据分析的快速发展,网络爬虫(WebScraping)成为了获取互联网数据的重要工具。通过爬虫,我们可以自动化地从网页上获取各种信息,如新闻、产品价格、社交媒体内容等。本文将带您从零开始,使用Python构建一个简单的Web爬虫,抓取网页内容并保存数据。Web爬虫的基本概念什么是Web爬虫?Web爬虫(也称为网络蜘蛛或抓取器
- Stable Diffusion创始人:DeepSeek没有抄袭!
Datawhale
stablediffusion人工智能
Datawhale分享观点:EmadMostaque,编译:Datawhale视频中英对照如下:Distillationisnothingnew,andthere'snowaytokindofstopthisfromthemodelbasis.蒸馏技术并不是什么新事物,而且从模型的角度来看,没有办法完全阻止这种情况的发生。Butifyouactuallylookatwhatthepapersays
- android dts播放器下载,安卓dts音效apk安装包
爽新全效瓷兔膏
androiddts播放器下载
安卓dts音效apk安装包app是一款非常好用的手机音效软件。安卓dts音效apk安装包为用户带来极致的音效体验,让用户在听音乐的时候有更多的音效模式选择,感受高质感的音质,享受完美的音律之美,感兴趣的朋友欢迎下载体验哦。安卓dts音效apk安装包软件介绍:DTS(数字剧院音效系统,DigitalTheaterSystem)是在1993年史蒂文·斯皮尔伯格所执导的「侏罗纪公园(JurassicPa
- lua-文件操作代码大全
James吖
luajavajava
1.创建新文件--使用File类import"java.io.File"--导入File类File(文件路径).createNewFile()--使用io库io.open("/sdcard/aaaa",'w')2.创建新文件夹--使用File类import"java.io.File"--导入File类File(文件夹路径).mkdir()--创建多级文件夹File(文件夹路径).mkdirs()-
- Moodle参考架构在AWS上的部署指南
廉彬冶Miranda
Moodle参考架构在AWS上的部署指南aws-refarch-moodleMoodleReferenceArchitecturewithsupportingCloudFormationtemplates项目地址:https://gitcode.com/gh_mirrors/aw/aws-refarch-moodle1.项目基础介绍和主要编程语言项目基础介绍Moodle参考架构是一个在Amazon
- 『大模型笔记』视觉语言模型解释
AI大模型前沿研究
大模型笔记LLMVLM视觉语言模型语言模型大模型人工智能
视觉语言模型解释文章目录一.视觉语言模型解析1.什么是视觉语言模型?2.开源视觉语言模型概览3.如何找到合适的视觉语言模型MMMUMMBench4.技术细节5.使用变压器(transformers)运用视觉语言模型6.使用TRL微调视觉语言模型二.参考文章一.视觉语言模型解析视觉语言模型是一类能够同时从图像和文本中学习,以处理从视觉问题回答到图像描述等多种任务的模型。本文将深入探讨视觉语言模型的核
- Docker Ubuntu 20.04执行CI任务交叉编译riscv64-linux-gcc时no such file or directory
Wentao Wu
第一次接触rsicv64的交叉编译环境(其他交叉编译环境也基本没接触过,只是知道概念和原理),目前的需求是需要在gitlab上给一套rsicv64-linux-gcc执行CI任务,默认直接在本地服务器执行交叉编译,需要经常清理服务器文件,且成熟的开发环境不适合作为测试环境来运行,因此考虑将CI任务直接在Docker中执行,也需要配置最小化且测试环境最干净的Docker镜像。手工在服务器执行,全套流
- cpu 调频策略
weixin_33814685
python
2019独角兽企业重金招聘Python工程师标准>>>调频策略通常有如下:1.Performance:CPUfreq被设置成scaling_min_freq和scaling_max_freq中的最高频率,2.Powersave::CPUfreq被设置成scaling_min_freq和scaling_max_freq中的最低频率;3.Userspace:允许root权限的用户通过sysfs的“sc
- 数据建模中的Chasm 陷阱
小Tomkk
#MySQL数据库mysqlChasm陷阱
数据建模中的Chasm陷阱在数据仓库中,Chasm陷阱(ChasmTrap)是指一种设计问题,通常出现在数据仓库建模的过程中,尤其是在使用星型模式(StarSchema)或者雪花型模式(SnowflakeSchema)时。这个问题通常发生在多个事实表与维度表之间的关系存在不一致或难以解决的情况,导致数据查询和分析时产生不正确的结果。文章目录数据建模中的Chasm陷阱我这里举例说明Chasm陷阱解决
- cpu 调频
lei7143
c
cpu调屏幕kernel-3.18\drivers\misc\mediatek\base\power\mt6735
- 初探Linux CPU动态调频与实测
He11o_Liu
操作系统LinuxCPUFreqCPU调频Linux
关于本文主要涉及LinuxCPUFreq子系统是什么,为什么需要,怎么用。并解决在实际测试中遇到的三个问题:scaling_governor没有userspace的问题。/proc/cpuinfo与cpuinfo_cur_freq显示频率不同。无法针对单个核心调频并使一个CPU下的不同的核心运行在不同的频率下。参考资料Linux2.6内核中的最新电源管理技术综述_CPUFreqLinux动态频率调
- Java Map 深拷贝方法
qq_41482600
java基础java开发语言
1、JSON.parseObject(JSON.toJSONString(map))importcom.alibaba.fastjson.JSON;importorg.apache.commons.lang3.SerializationUtils;importjava.util.HashMap;importjava.util.Map;publicclassJSONDemo{publicstatic
- 推荐篇:一探Selenium Java自动化测试架构的奥秘
俞予舒Fleming
推荐篇:一探SeleniumJava自动化测试架构的奥秘selenium-java-test-automation-architectureReady-to-useUITestAutomationArchitectureusingJavaandSeleniumWebDriver.项目地址:https://gitcode.com/gh_mirrors/se/selenium-java-test-au
- 【LeetCode】3. 哈希表: 字母异位词分组;有效的数独
pen-ai
LeetCodeleetcode散列表算法
题目字母异位词分组给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例2:输入:strs=[“”]输出:[[“”]]示例3:输
- 代码随想录2.2
我会非常幸运
代码随想录跟练记录算法leetcodejava数据结构c++
文章目录二叉树的递归遍历(深度优先)144.二叉树的前序遍历【中左右】145.二叉树的后序遍历【左右中】94.二叉树的中序遍历【左中右】二叉树的迭代遍历(深度优先)前序迭代遍历【中左右】中序迭代遍历后序迭代遍历二叉树的统一迭代(深度优先)二叉树的递归遍历(深度优先)不同的遍历其实就是调换下列几句代码的顺序:traversal(cur->left,vec);//左traversal(cur->rig
- python简单入门---time库的使用
不停---
Python入门
time库函数-时间获取:time()ctime()gmtime()-时间格式化:strftime()strptime()-程序计时:sleep(),perf_counter()version1函数描述time()获取当前时间戳即计算机内部时间值,浮点数ctime()获取当前时间并且以易读方式表示,返回字符串––gmtime()获取当前时间,表示为计算机可处理的时间格式>>>time.time()
- python 时间库 time
qianchenzhihai
python学习
在开始之前,首先要说明这几点:1.在Python中,通常有这几种方式来表示时间:1)时间戳2)格式化的时间字符串3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。2.UTC(CoordinatedUniversalTime,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(DaylightSavingT
- MySQL中使用游标
Lang_xi_
SQL必知必会mysqloracle数据库
目录1、游标--CURSOR2、使用游标(1)在存储过程中创建游标(2)打开游标(3)使用游标(4)关闭游标3、小结博主用的是mysql8DBMS,附上示例资料:百度网盘链接:https://pan.baidu.com/s/1XaWi3Y7hpXbs_uHq2cPI6Q提取码:fpnx1、游标--CURSORSQL检索操作返回一组称为结果集的行,这组返回的行都是与SQL语句相匹配的行(零行或多行)
- AI模型升级版0.02
pps-key
pythonAI写作学习gpt
根据您的需求,我将提供一个升级版的AI对话模型的实现代码,该模型可以在Windows上运行,并支持训练和微调。我们将使用HuggingFace的transformers库和torch库来实现这个目标。同时,我会结合最新的技术趋势,例如强化微调(ReinforcementFine-Tuning),来提升模型的性能。步骤1:安装必要的库首先,确保您的Windows系统上安装了Python(推荐Pyth
- Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException: ### Error building Sq
yandajiangjun
Javamavenmybatisjava
Exceptioninthread“main”org.apache.ibatis.exceptions.PersistenceException:ErrorbuildingSqlSession.TheerrormayexistinMybatis/dao/UserDao.xmlCause:org.apache.ibatis.builder.BuilderException:ErrorparsingS
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,