- 《从零到全栈:JavaScript入门指南(二)》
CodeComposer
javascript前端学习
DOM操作1、DOM基础概念定义:文档对象模型(DocumentObjectModel),将HTML/XML文档解析为树形结构,提供操作页面元素的接口。核心作用:通过JavaScript动态操作网页内容(增删改查元素、样式、属性、事件等)。节点类型:元素节点(如)文本节点(如标签内的文字)属性节点(如class="box")2、document对象入口对象:代表整个文档,提供访问和操作页面的属性和
- JAVA-常用类
安宁#
Java基础学习java面试
文章目录常用类-串讲1.Object类1.inthashCode():2.ClassgetClass()3.toString()4.booleanequals(Objectobj)5.Objectclone()和voidfinalize()2.String类1.构造方法2.判断功能3.获取功能4.转换功能5.其他功能3.StringBuffer(StringBuilder)1.构造方法2.添加功能
- conda创建环境/安装包报错网络问题
胖胖大王叫我来巡山
condapython
1.报错(base)xx@xxxdeMacBook-Proanaconda3%condacreate-nworkpython=3.7.11Collectingpackagemetadata(current_repodata.json):failedCondaHTTPError:HTTP000CONNECTIONFAILEDforurlElapsed:-AnHTTPerroroccurredwhen
- CSP-J/S复赛算法 动态规划初步
人才程序员
CSP-J算法动态规划深度优先c++noiCSP-J/S
文章目录前言动态规划动态规划常见形式动态规划求最值的几个例子1.**背包问题**2.**最短路径问题**3.**最小硬币找零问题**4.**最长递增子序列**总结最优子结构举个简单的例子其他例子条件DP的核心就是穷举具体解释递归的算法时间复杂度dp数组的迭代解法通俗易懂的解释比喻状态转移方程详解状态转移方程中的状态概念通俗易懂的解释:举个例子:状态总结:DP的无后效性通俗易懂的解释举个例子特点总结
- QT C++ QtConcurrent::run 异步任务 简单例子
测控系统集成
QT测控c++语言c++开发语言
QtConcurrent命名空间提供了高级API,使得无需使用低级线程原语即可编写多线程程序。QtConcurrent::run是Qt框架中用于简化并发编程的一个功能,主要用于在后台线程中异步执行函数或成员函数。其主要用途包括:异步执行函数:QtConcurrent::run可以在一个单独的线程中运行一个函数,避免耗时操作阻塞当前线程。这对于提升应用程序的响应性和性能非常有帮助。简化多
- QML实现自己的桌面萌宠源码分享
小灰灰搞电子
QML开发数据库
一、效果展示1、撒娇2、拖动3、右下角效果二、源码分享1、工程目录2、主窗口源码Main.qmlimportQtQuickimportQtQuick.ControlsWindow{width:640height:480visible:truetitle:qsTr("HelloWorld")propertyQtObjectpetWindow:nullComponent.onCompleted:{va
- STM32-HAL库(下4-智能小车项目)
Aspiring Q
stm32单片机
STM32-HAL库(下4-智能小车项目)269智能小车项目概述(1)小车项目综合了stm32各个知识点,具有代表性;270智能小车车身基础安装(1)小车组装后下载代码验证确保硬件无误;271车身基础安装完整版272电机驱动模块L9110S(1)参考文档链接:https://www.lxlinux.net/e/stm32/l9110s-tutorial.html(2)电机驱动模块:是一种用于控制和
- Python并发编程实战:用concurrent.futures榨干CPU性能的终极指南
清水白石008
pythonPython题库python网络服务器
Python并发编程实战:用concurrent.futures榨干CPU性能的终极指南引言:从“单线程苦力”到“并发指挥官”你是否遇到过这样的场景?处理10万条数据需要跑通宵,Web爬虫每秒只能请求3次,批量处理图片时CPU利用率不到20%……这些问题的根源往往在于未能有效利用计算资源。Python的concurrent.futures模块提供了一种优雅的解决方案——通过线程池和进程池,开发者可
- 代码随想录DAY06
程序员正在诞生中
代码随想录打卡哈希算法算法
哈希表用于快速判断一个元素是否存在于集合里。以空间换取时间。有一个哈希函数,会出现哈希碰撞。哈希碰撞的解决办法:拉链法,线性探测法。常见的三种哈希结构:数组,集合,映射。有效的字母异位词ord()函数为字符对应的ASCII数值。classSolution(object):defisAnagram(self,s,t):""":types:str:typet:str:rtype:bool"""hash
- 279.完全平方数
程序员正在诞生中
代码随想录打卡算法数据结构leetcode动态规划python蓝桥杯
classSolution(object):defnumSquares(self,n):""":typen:int:rtype:int"""dp=[float('inf')]*(n+1)num=int(n**(0.5))+1#0.5不能写成1/2,因为在python2中1/2等于0dp[0]=0foriinrange(1,num):forjinrange(i*i,n+1):dp[j]=min(dp
- 代码随想录训练营DAY07
程序员正在诞生中
代码随想录打卡python开发语言算法哈希算法
四数相加classSolution(object):deffourSumCount(self,nums1,nums2,nums3,nums4):""":typenums1:List[int]:typenums2:List[int]:typenums3:List[int]:typenums4:List[int]:rtype:int"""dict={}foriinnums1:forjinnums2:i
- MATLAB利用Filter Design设计滤波器
zxcwxkp
MATLAB数字信号处理
一、FilterDesign设计滤波器设计带通滤波器,若export选中coefficients,则输出到workspace两个数组,SOS与G。若选中objects,则输出到workspace一个滤波器系数集合Hd。也可生成.mat文件,再进行读取load操作。二、从SOS与G中恢复滤波器系数1.函数调用:[B,A]=sos2tf(SOS,G)2.范例:三、从Hd中恢复滤波器系数[B,A]=tf
- 50、深度学习-自学之路-自己搭建深度学习框架-11、添加RNN递归神经网络层为了浮现RNN的神经网络使用框架。
小宇爱
深度学习-自学之路深度学习人工智能自然语言处理神经网络rnn
importnumpyasnpclassTensor(object):def__init__(self,data,autograd=False,creators=None,creation_op=None,id=None):self.data=np.array(data)self.autograd=autogradself.grad=Noneif(idisNone):self.id=np.rand
- 52、深度学习-自学之路-自己搭建深度学习框架-13、对话预测功能,使用我们自己建的架构重写RNN预测网络,程序的详细解读。
小宇爱
深度学习-自学之路深度学习人工智能神经网络自然语言处理rnn
importnumpyasnpclassTensor(object):def__init__(self,data,autograd=False,creators=None,creation_op=None,id=None):self.data=np.array(data)self.autograd=autogradself.grad=Noneif(idisNone):self.id=np.rand
- 【jenkins】jenkinsfile更新作业描述的方法
luojiaao
汽车软件开发-工具链jenkins前端运维
Stringget_initial_description(){wrap([$class:'BuildUser']){defuser=env.BUILD_USER_IDreturn"user:${user}\nNumber:${env.BUILD_NUMBER}"}}//获取初始化描述currentBuild.description=get_initial_description()//追加描述内
- 2.1部署logstash:9600
AustinCien
ELFKelk运维
实验环境:关闭防火墙,完成java环境yum-yinstallwgetwgethttps://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpmyumlocalinstalljdk-8u341-linux-x64.rpm-yjava-version1.安装logstashtarxflogstash-6.4.1.tar.gz-C/usr/localln-s
- K8S(06)的web管理方式-dashboard
狂奔的蜗牛Austin
前端服务器运维
K8S的web管理方式-dashboard目录K8S的web管理方式-dashboard1部署dashboard1.1获取dashboard镜像1.1.1获取1.8.3版本的dsashboard1.1.2获取1.10.1版本的dashboard1.1.3为何要两个版本的dashbosrds1.2创建dashboard资源配置清单1.2.1创建rbca授权清单1.2.2创建depoloy清单1.2.
- python将字符串s和换行符写入文件fp_【python】文件操作
徐士萍
本文内容包括:文件的读写操作文件的各种系统操作存储对象遍历文件上代码:importosimportos.pathrootdir="d:/code/su/data"#指明被遍历的文件夹forparent,dirnames,filenamesinos.walk(rootdir):#三个参数:分别返回1.父目录2.所有文件夹名字(不含路径)3.所有文件名字fordirnameindirnames:#输出
- 深入探讨K8s资源管理和性能优化
磐基Stack专业服务团队
Kuberneteskubernetes性能优化容器
#作者:曹付江文章目录前言:1.监控Kubernetes集群的资源利用率1.1Prometheus1.2Kubernetes度量服务器1.3Grafana1.4自定义指标2.识别资源瓶颈2.1.监控工具2.2.性能剖析2.3Kubernetes事件和日志2.4.群集自动扩展2.5.负载测试3.扩展应用程序以提高性能3.1.水平Pod自动缩放器(HPA)3.2.垂直PodAutoscaler(VPA
- Navicat Premium 16/17 安装包 (Win/Mac) 支持M系列芯片 可视化数据库管理工具
吃汤圆的抹香鲸
macoswindowspostgresql数据库mysqlsql
目录下载链接:https://pan.baidu.com/s/1faPBE6hZPwjVOErTLiy6oA?pwd=1234提取码:1234一、环境部署与基础配置1.1双版本安装指南1.2中文汉化配置二、数据库管理核心功能2.1多协议连接方案2.2数据迁移与同步三、高阶开发技巧3.1智能SQL编辑器3.2可视化查询构建3.3数据模型设计四、效率革命:15个杀手级技巧4.1快捷键矩阵4.2自定义工
- day7作业
m0_58248149
c++开发语言
编写一个如下场景:有一个英雄Hero类,私有成员,攻击(Atx),防御(Defense),速度(Speed),生命值(Blood),以及所有的setget方法编写一个武器Weapon类,拥有私有成员攻击力(Atx),以及setget方法编写一个长剑Sword类,继承自武器类,拓展属性生命值(Blood),以及setget方法编写一个匕首Blade类,继承自武器类,拓展属性速度(Speed),以及s
- DOM编程
晚安720
前端javascript服务器
DOM编程what主要是对页面中标签的增删改查。文档对象模型(DocumentObjectModel,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中。why学习DOM操作就是操作页面中的标签/节点/元素/标记的对节点的操作what:什么是节点?文档是一个文档节点。(页面中的汉字、空格符、特殊符号)所有的HTML元素都是元素
- 2025年公务员考试 粉笔行测5000题!最新版!
weixin_45838322
职场和发展
温馨提示:资料仅供学习交流使用,请勿用于商业用途。资料整理不易,请大家珍惜,认真备考。祝愿各位未来的局长们都能顺利上岸,早日实现自己的梦想!部分资料截图:链接:https://pan.quark.cn/s/d30dbfe077fb
- CSS3过渡效果小练习-进度条
nuomi_w
css3css前端
Document.bar{width:150px;height:15px;border:1pxsolidred;border-radius:7px;}.bar_in{width:50%;height:100%;background-color:red;transition:all0.8s;}.bar:hover.bar_in{width:100%;border-radius:7px;}
- 【spring-kafka】@KafkaListener详解与使用
2401_84408092
程序员springkafkalinq
id监听器的id①.消费者线程命名规则填写:2020-11-1914:24:15c.d.b.k.KafkaListeners120[INFO]线程:Thread[consumer-id5-1-C-1,5,main]-groupId:BASE-DEMOconsumer-id5消费没有填写ID:2020-11-1910:41:26c.d.b.k.KafkaListeners137[INFO]线程:Th
- 网络安全 linux学习计划 linux网络安全精要
网络安全-杰克
web安全linux学习
2.使用命令行文件系统层次标准(FHS)是一个文件和目录在Unix和Linux操作系统上面应该如何存储的定义。/bin重要的二进制可执行程序/boot与系统启动有关的文件/etc系统配置文件/home普通用户家目录/lib重要的系统库/media可移动介质的挂载路径/mnt临时的挂载路径/opt可选择安装的软件包/proc与系统内核及进程有关的信息(虚拟的文件系统)/rootroot用户家目录/s
- 检查SSH安全配置-sshd服务端未认证连接最大并发量配置
itachi-uchiha
操作系统ssh安全运维
介绍MaxStartups参数指到SSH守护进程的未经身份验证的最大并发连接数。逻辑依据为防止系统因大量待处理的身份验证连接尝试而出现拒绝服务的情况,请使用MaxStartups的速率限制功能来保护sshd登录的可用性,并防止守护进程不堪重负。检查方法执行以下命令验证MaxStartups是否为10:30:60或更严格的限制:sshd-T|awk'$1~/^\s*maxstartups/{spli
- 【uni-app笔记整理八】图片的上传
小异常
uni-appuni-appvuejavascriptjs图片
版权声明:本文为小异常原创文章,非商用自由转载-保持署名-注明出处,谢谢!本文网址:https://sunkuan.blog.csdn.net/article/details/111678247图片上传在移动端也是很常见的一项功能,它可以从本地相册中或者使用相机进行拍照上传图片,uni-app提供了以下两个方法:uni.chooseImage(object):从本地相册选择图片或使用相机拍照。co
- Feign 类型转换问题解析:如何正确处理 `ResponseEntity<byte[]>` 返回值
劲雨波
RPC框架javaspringrpcspringboot
在微服务架构中,Feign是一种常见的用于服务间调用的客户端,它允许我们通过声明式接口来调用远程服务。使用Feign时,我们通常通过接口方法的返回类型来接收服务的响应体。然而,某些情况下,我们会遇到Feign无法正确解析响应体类型的问题,尤其是当服务返回一个如ResponseEntity类型的响应,而客户端的方法声明使用了Object类型时。本文将分析Feign在处理这种情况时可能出现的问题,并提
- 蓝桥杯砝码称重
昨今
蓝桥杯java算法
以下是完整的代码:#include#include#includeusingnamespacestd;intmain(void){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);sets={0};intn,m,i;cin>>n;for(i=0;i>m;vectorv(s.begin(),s.end());for(int&e:v){s.inser
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,