- uWSGI, Gunicorn负载服务器怎么选
weixin_43986924
djangopython
因为nginx等优秀的开源项目,有不少本来不是做服务器的同学也可以写很多服务器端的程序了。但是在聊天中会发现,大家虽然写了不少代码,但是对wsgi是什么,gunicorn是什么,反向代理又是什么并不了解,也就是说对基本概念并没有一个全局的了解。服务器到了服务器组你会发现原来有各种各样的服务器,那些叫法很多是有历史沉淀的,不需要太深究能对上号就行,因为本来也是乱七八糟的。HTTP服务器如果网站是HT
- linux + 宝塔面板 部署 django网站 启动方式:uwsgi 和gunicorn如何选择 ?
启动方式:uwsgi和gunicorn如何选择?项目uWSGIGunicorn协议uWSGI协议(可用HTTP/socket)HTTP协议启动方式命令或.ini配置文件命令参数或systemd配置兼容框架支持WSGI、uWSGI、FastCGI等仅支持WSGI性能高性能、极可调高性能、默认参数也够用配置复杂度❌比较复杂✅配置简单社区活跃⭐停滞不前,主作者不活跃⭐⭐活跃,现代化持续维护热部署支持✅支
- docker+gunicorn+gevent部署Django项目
间歇性不想努力
dockergunicorndjango
1、生成requiremesnts.txt文件执行pipfreeze>requirements.txt2、编写gunicorn-config.py文件frommultiprocessingimportcpu_countbind=["0.0.0.0:8521"]#daemon=Truepidfile='logs/gunicorn.pid'workers=cpu_count()*2wprker_cla
- Nginx+Gunicorn部署Django项目
闻风听雨1562
Djangonginxgunicorndjango
1.项目文件传输和依赖安装1.1网络环境下pip安装依赖,离线则传输安装(略)2.Django设置2.1关闭调试模式,设置允许访问IP在项目同名路径下的settings中设置DEBUG=FalseALLOWED_HOSTS=['*']#允许所有地址访问2.2配置静态文件STATIC_URL='/static/'STATIC_ROOT=os.path.join(BASE_DIR,'static')#
- Django母婴商城项目实践(一) - 母婴商城项目介绍
ITB业生
Djangodjango数据库python
1、母婴商城项目介绍1、项目需求分析需求归纳网站提供的搜索功能搜索结果展示:根据销量、价格、上架时间和收藏数量进行排序商品详情展示:商品尺寸、原价、活动价、图片展示、收藏功能与购买功能购买后的订单信息:包含支付金额、购买时间、订单状态等商品购买的在线支付方式:支付宝、微信、银行卡等功能商品库存管理:SKU(StockKeepingUnit,库存量单位)与SPU(StandardProductUni
- 【电脑】CPU的基础知识
Mike_Wuzy
电脑
中央处理器(CentralProcessingUnit,CPU)是计算机的核心部件之一,负责执行程序中的指令并进行计算操作。以下是关于CPU的详细知识:1.架构组成一个典型的现代CPU通常由以下几个主要部分构成:控制单元(ControlUnit,CU):负责从内存中读取指令,并解析这些指令以确定计算机需要完成的操作。算术逻辑单元(ArithmeticLogicUnit,ALU):执行算术运算和逻辑
- Unity的TCP同步通信
1.Socket中的重要APIusingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Net;usingSystem.Net.Sockets;usingUnityEngine;publicclassLesson5:MonoBehaviour{//Startiscalledbeforethefirstframeupdat
- Python词法分析器:从概念到实践
凡狗蛋
本文还有配套的精品资源,点击获取简介:Python词法分析器是编程语言处理的关键环节,负责将源代码解析为有意义的标记或符号序列。本简介详细介绍了词法分析、正则表达式、分词、词法规则、词法分析器生成器以及编译原理等核心概念,并展示了如何使用Python内置的re模块和第三方库ply实现词法分析器,为进一步理解编程语言的工作原理和构建自定义编程语言打下基础。1.词法分析器的作用与目的词法分析器是编译器
- 【Unity&AssetBundle】AssetBundle管理器
usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Threading.Tasks;usingUnityEngine;usingUnityEngine.Events;//////AB包管理器///publicclassAssetBundle_Manager_:S
- 【Unity笔记02】订阅事件-自动开门
流程当玩家移动到触发区域的时候,门自动打开事件系统usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassEventSystem:MonoBehaviour{publicstaticEventSystemInstance{get;privateset;}publi
- 【Unity笔记01】基于单例模式的简单UI框架
单例模式的UIManagerusingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassUIManager{privatestaticUIManager_instance;publicDictionarypathDict;publicDictionaryprefabDict;publicDi
- 【论文笔记】RAGLAB: A Modular and Research-Oriented Unified Framework for Retrieval-Augmented Generation
AustinCyy
论文笔记论文阅读
论文信息论文标题:RAGLAB:AModularandResearch-OrientedUnifiedFrameworkforRetrieval-AugmentedGeneration-EMNLP24论文作者:XuanwangZhang-NanjingUniversity论文链接:https://arxiv.org/abs/2408.11381代码链接:https://github.com/fat
- 【Unity开发】Unity实现glb模型上传到场景中使用功能
龚子亦
Unityunity游戏引擎
一、效果展示点击按钮上传glb格式的模型,进行后续移动、旋转和缩放操作,上传的模型会出现在原点(0,0,0)位置演示视频:Unity实现glb模型上传到场景中使用功能二、环境要求需要下载安装用于加载glb模型的插件,下载好后直接拖入项目中进行使用下载链接:https://github.com/Siccity/GLTFUtility/releases三、实现完整代码usingUnityEngine;
- 面向智能医疗的6G物联网和人工智能
Allen_Lyb
医疗高效编程研发物联网人工智能健康医疗
AbstractTheconvergenceof6Gwirelesstechnology,theInternetofThings(IoT),andArtificialIntelligence(AI)ispoisedtorevolutionizehealthcaredeliverybyenablingunprecedentedlevelsofconnectivity,intelligence,and
- 南昌大学《编译原理》期末考试试卷(含答案)
创创大帝(水印很浅-下载的文档)
编译器
南昌大学《编译原理》期末考试试卷1.简答题(15分)(1)简述编译程序的概念及构成。编译程序是现代计算机系统的基本组成部分.从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序.(2)什么是文法?一个文法G是一个四元组(VT,VN,S,P),其中:VT是一个非空有穷终结符号集合;VN是一个非空有穷的非终结符号集合,且VT∩V
- 编译原理简答题
编译过程一般可以分为哪些阶段?各自的作用是什么?涉及到四元式,三地址码的阶段有哪些?一般可以划分为五个工作阶段:(1)词法分析,对构成源程序的字符串进行扫描和分解,识别出一个个的单词(2)语法分析,根据语言的语法规则,把单词符号串分解成各类语法单位(3)语义分析与中间代码生成,即对各类语法单位,分析其含义并进行初步翻译(4)代码优化,以期产生更高效的代码(5)目标代码生成,把中间代码变换成特定机器
- 编译原理复习题
钻仰弥坚
编译原理编译原理复习题期末
选择一套期末试卷作为编译原理的复习题,答案写的比较简单,仅供参考。一、选择题(20分)1、构造编译程序应掌握_______。A、源程序B、目标语言C、编译方法D、以上三项都是2、用高级语言编写的程序经编译后产生的程序叫_________。A、源程序B、目标程序C、连接程序D、解释程序3、文法G产生的_______的全体是该文法描述的语言。A、句型B、终结符集C、非终结符集D、句子4、文法分为四种类
- 编译原理期末考试概念简答复习
有为肥宅
复习资料学习
第一章1、编译器(编译程序)的组成部分及其任务:词法分析器(扫描器):输入源程序,进行词法分析,输出单词符号;语法分析器(分析器):对单词符号串进行语法分析(根据语法规则进行推导或归约),识别出各类语法单位,最终判断输入串是否构成语法上正确的“程序”;语义分析与中间代码产生器:按照语义规则对语法分析器归约(或推导)出的语法单位进行语义分析并将其翻译成一定形式的中间代码;优化器:对中间代码进行优化处
- 计算机编译原理ppt,编译原理课件.ppt
知知与终生
计算机编译原理ppt
文档介绍:高级语言汇编语言SOURCEPROGRAMAssemblePROGRAM?翻译程序?TRANSLATER为什么要学****编译原理程序设计语言是计算机软件专业的重要核心学****编程的历程:C语言--汇编语言--数据结构Monday,July03,2017编译原理为什么要学****编译原理必修主干课程,操作系统和编译系统构成程序设计者与计算机之间的基本界面。通过学****该课程,掌握编译
- fastapi使用gunicorn还是uvicorn
程序员的战歌
Pythonfastapi
Uvicorn在单进程上使用异步协程是有优势的,但是如果接口方法是同步的则走的多进程模式,也就是workers的数量,这个时候uvicorn不如gunicorn,性能上会有些限制。uvicornmain:app--host0.0.0.0--port8000--workers4Gunicorn是一个使用WSGI标准的应用服务器。Flask和Django可以直接使用Gunicorn运行,但是FastA
- 编译原理7~9
CHARLIIE
编译原理
7。编译原理--03语法制导翻译和中间代码生成复习(清华大学出版社第3版)-X_Jun-博客园继承属性:从上往下in综合属性:从下往上val语法分析树和相应的带标注语法分析树这条产生式`S'→id:=E'`以及相应的语义动作`{S'.nextlist:="";emit(id.place':='E'.place)}`是用于描述赋值语句的翻译过程。这里,`id`表示一个标识符(即变量名),而`E'`是
- 燕山大学编译原理期末考试
能运行就算成功
经验分享
软件工程专业的首先,这一门课无法在三四天内速成(指零基础的)要是有考前才开始学到同学至少要提前一周开始学习(我觉得这都比较紧张,两周才算宽裕),b站上的速成课不全!不全!不全!不要想着完全看速成课,你要非这样我也没办法。考试范围如下:编译程序构成、编译程序与解释程序区别,词法分析、语法分折、语义分折及其任务,文法,语言,句型,句子,短语,推导,归约,句柄,文法、语言二义性,文法分类,有穷自动机、正
- 一些unity知识点
乌趣
unityc#游戏引擎
变量类型Animatora:定义animator组件类型变量LayerMaska:定义存储图层的变量Texta:定义文本变量,如UI的TextLineRenderer:定义保存LineRenderer组件的变量(画线用的)Material:定义保存材质的变量使用UI和场景管理的方法时记得usingUnityEngine.UI;usingUnityEngine.SceneManagement;pub
- golang unicode转utf-8
rambo.huang
golanggounicode
golangunicode转utf-8Unicode和utf-8的区别具体转换代码Unicode和utf-8的区别参考文章具体转换代码funchandleResponse(resp*http.Response)(string,error){respBytes,err:=ioutil.ReadAll(resp.Body)deferresp.Body.Close()iferr!=nil{fmt.Pri
- 【Unity关于Windows文件的一些常用操作1】
灬悟空不悟灬
Unity小技巧unity游戏引擎
Unity关于Windows文件的一些常用操作本人项目中遇到的一些Unity关于Windows文件的一些常用操作。以后还会继续进行扩展。usingSystem;usingSystem.IO;usingSystem.Linq;usingUnityEngine;namespaceWKFrame.Controller{publicpartialclassUtils:Singleton{//////清空文
- gunicorn多进程不死_Gunicorn 部署 Flask-Apscheduler 之踩坑记录
weixin_39834488
gunicorn多进程不死
flask-apscheduler是一款flask的定时任务框架,其本质上是和apscheduler一样的,具体的使用操作和其他的flask组件一样。在开发环境上定时任务跑起来很顺利,但是到了生产环境用Gunicorn部署的时候出现了各种问题。踩坑一:TimeZoneoffsetdoesnotmatchsystemoffset部署生产环境时,一上去就给我丢了一个大大的异常:“TimeZoneoff
- gunicorn多进程不死_Flask gevent 多进程WSGI(非gunicorn)
weixin_39605326
gunicorn多进程不死
python多进程gevent,FlaskgeventmultiprocessWSGI,Flaskgevent多进程WSGI,Flask多进程gevent。题外话:Flask,Instagram据说扛住了上亿日活,以前是Django。其是一个非常优秀的webservice框架,简洁灵活,可以利用大量的第三方组件和模块来快速开发。如今,Instagram的总注册用户达到30亿,月活用户超过7亿(作为
- http://syy7.com/a/25.php,vue_element/vue_elementui.sql at 3ffdcb477ce3fbbc24cf1a4d7e3481a187023a02 ·...
毛心宇
INSERTINTO`user_tb`VALUES('1','女','burtyang','C041580E1C6192B6084E03CE76D5C05C','18',null,'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAwICQoJBwwKCQoNDAwOER0TERAQESMZGxUdKiUsKyklKCguNEI4Lj
- 嵌入式学习 51单片机01
c6lala
学习51单片机嵌入式硬件
一、框架1、CPU(CentralProcessingUnit,中央处理单元)是计算机的核心部件,负责执行计算机指令和处理数据。2、MCU(MicrocontrollerUnit,微控制单元)是一种将中央处理器、内存、输入输出接口等多种功能模块集成在单一芯片上的微型计算机系统。(特殊的CPU重视对外摄的控制而非数据的处理)3、MPU(MicroprocessorUnit,微处理器单元)是一种
- 【AI编程】第3期,针对AI生成的改枪码列表创建对应的数据库表
Karle_
AI编程数据库
表字段定义:{"id":198,"upid":4,"game_name":"三角洲行动","level1":"烽火地带","level2":"步枪","cover":"https://mpfile.shifoukeji.com/images/gun/14.png","name":"PTR-32","codes":"性价比6G27RGG02CVGNGOLBMSRO$$$满改6G27RHS02CVGN
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,