最近发生了一个报错:qt.network.ssl:QSslSocket::connectToHostEncrypted:TLSinitializationfailed//获取Qt所支持的版本qDebug()<<"OpenSSL支持的版本:"<
一次bilibili的漏洞扫描
完全之人
技巧安全
拿到bilibili的shell,到时为所欲为,嘿嘿嘿。nmap命令:nmap-Obilibili.com;没。nmap-A-T4bilibili.com;有!以下是对该SSL/TLS扫描结果的深技术分析及安全加固建议:1.协议与加密套件分析观察结果markdown复制-协议版本:TLSv1.2(100%)-支持加密套件:*ECDHE-RSA-AES256-GCM-SHA384(前向保密)*DHE
Qt5.14.2 深入理解Qt多线程编程,掌握线程池架构实现高效并发
web14786210723
qt架构系统架构
在高并发的软件系统中,多线程编程是解决性能瓶颈和提高系统吞吐量的有效手段。作为跨平台的应用程序开发框架,Qt为我们提供了强大的多线程支持。本文将深入探讨Qt多线程编程的实现细节,并介绍线程池的设计思想,帮助读者彻底掌握Qt多线程编程技巧。一、Qt的两种多线程实现方式剖析Qt中实现多线程编程主要有两种方式:重写QThread类的run()函数和使用信号与槽。1、重写QThread的run()函数这种
Python基础语法:注释和代码风格(PEP 8)详解③
邓瑞军说HelloWorld
PythonVSCode#Python开发基础开发语言pythonvscode
文章目录一、注释1.1单行注释1.2多行注释1.3文档字符串(docstrings)二、PEP8代码风格2.1缩进2.2每行字符数限制2.3空行2.4引号2.5空格2.6注释2.7命名约定2.8其他建议三、综合复杂示例四、结论在编写Python代码时,注释和代码风格是两个至关重要的方面。良好的注释能够帮助开发者更好地理解代码,提高代码的可读性和可维护性;遵循Python的官方代码风格指南(PEP8
04树 + 堆 + 优先队列 + 图(D1_树(D10_决策树))
Java丨成神之路
06数据结构与算法数据结构算法
目录一、引言二、算法原理三、算法实现四、知识小结一、引言决策树算法是一种常用的机器学习算法,可用于分类和回归问题。它基于特征之间的条件判断来构建一棵树,树的每个节点代表一个特征,每个叶节点代表一个类别或回归值。决策树算法具有简单、易于理解和解释的特点,且在处理大规模数据时具有较高的效率。本文将介绍决策树算法的基本原理,并提供了Java代码示例来说明其实现过程。二、算法原理决策树算法基于“分而治之”
【蓝桥杯】43697.机器人塔
清弦墨客
蓝桥杯蓝桥杯python程序算法
题目描述X星球的机器人表演拉拉队有两种服装,A和B。他们这次表演的是搭机器人塔。类似:ABBABAAABBBBBABABABBA队内的组塔规则是:A只能站在AA或BB的肩上。B只能站在AB或BA的肩上。你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔。输入描述输入一行两个整数M,N(01:next_layer=[]foriinrange(len(current)-1):i
从零开始部署Dify:后端与前端服务完整指南
engchina
LINUXDify部署
从零开始部署Dify:后端与前端服务完整指南一、环境准备1.系统要求2.项目结构二、后端服务部署1.中间件启动(DockerCompose)2.后端环境配置3.依赖安装与数据库迁移4.服务启动三、前端界面搭建1.环境配置2.服务启动四、常见问题排查五、总结在AI应用开发中,Dify作为一款功能强大的工具,其部署过程涉及多个技术栈的整合。本文将详细讲解如何从零开始搭建Dify的完整环境,包括后端服务
分布式消息队列ActiveMQ RabbitMQ RocketMQ Kafka
zxm8513
工业互联网开发技术综合性技术汇集我的应用为谁而生rabbitmqjava分布式
目录1、消息队列的主要的应用场景:解耦异步削峰(1)解耦(2)异步(3)削峰2、使用消息队列的缺点3、消息队列选型4、保证消息队列的高可用5、保证消息不被重复消费6、保证消费的可靠性传输(1)生产者丢失数据(2)消息队列丢失数据(3)消费者丢数据6、那么下次消费的时候offset就从7开始。7、保证消息的顺序性8、MQTT与重量级消息队列的区别1、消息队列的主要的应用场景:解耦异步削峰(1)解耦传
7.2 jmu-Java-06异常-02-使用异常机制处理异常输入
包小包.
java开发语言
目录main方法:输入样例:输出样例:代码实现:对处理异常的理解总结:异常处理的核心思想是以下几点:异常处理的五个关键字Last使用异常处理输入机制,让程序变得更健壮。main方法:输入n,创建大小为n的int数组。输入n个整数,放入数组。输入时,有可能输入的是非整型字符串,这时候需要输出异常信息,然后重新输入。使用Arrays.toString输出数组中的内容。输入样例:512ab453输出样例
前缀和(二维)
Q_ming_code
算法c语言算法c++
前言前面介绍了一维前缀和,二维前缀和是一维前缀和的在线升级,一维前缀和体现在数组,而二位前缀和体现在矩阵上。一、什么是二维前缀和?基于立在一维前缀和的基础上,现在所求是矩阵内一个任意的子矩阵的数的和,这样的问题我们就可以用二维前缀和进行求解。二、二维前缀和讲解引入对于一个矩阵例如:定义一个矩阵g[n][m]constintn=3,m=4;intg[n][m]={{1,5,6,8},{9,6,7,3
前缀和算法+实现
力扣刷穿
算法leetcodec++
目录1.前缀和算法2.前缀和实现Leetcode303:区域和检索-数组不可变Leetcode304:二维区间和检索-数组不可变Leetcode560:和为K的子数组3.总结1.前缀和算法前缀和的定义:数组从开始至某特定位置处的总和。通过前缀和问题,我们可以计算数组的在某个区间的数值总和。其步骤如下:(1)建立vector,用于存储前缀,并通过一定计算方式(如何计算见后续例题)计算每个位置处的前缀
kamailio在ESXI的虚拟机中的并发量预估
狂爱代码的码农
VOIP那些事kamaimio
基于ESXi虚拟机的KamailioSIP信令转发性能评估1.硬件配置分析组件配置CPUIntelXeonE5-2673v4×2(双路,共40核/80线程,2.3~3.5GHz)内存2166MHzDDR4,32GB×4(共128GB)存储SAS硬盘RAID5(读写性能较低,适合日志存储)虚拟化平台VMwareESXi虚拟机配置8核vCPU,16GB内存2.性能评估方法(1)CPU性能物理CPU:E
【声音场景分类--论文阅读】
繁华落尽,寻一世真情
分类论文阅读数据挖掘
1.基于小波时频图特征在声音场景分类基于小波时频图特征在声音场景分类任务中的表现2.增强增强高效音频分类网络https://arxiv.org/pdf/2204.11479v5https://github.com/Alibaba-MIIL/AudioClassfication音频分类网络如图4所示。在此阶段,主要重点是建立一个神经网络具有较大的感受野,同时保持较低的复杂性。可以将网络分解为两个主块
kamailio mysql数据表之subscriber用户表
若尘拂风
kamailiomysql数据库sipudpSIP
1:表结构CREATETABLE`subscriber`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`username`varchar(64)NOTNULLDEFAULT'',`domain`varchar(64)NOTNULLDEFAULT'',`password`varchar(64)NOTNULLDEFAULT'',`ha1`varchar(128)N
ActiveMQ、RabbitMQ、Kafka、RocketMQ在优先级队列、延迟队列、死信队列、重试队列、消费模式、广播模式的区别
点滴~
activemqrabbitmqkafka
目录1.优先级队列2.延迟队列3.死信队列4.重试队列5.消费模式6.广播模式ActiveMQ、RabbitMQ、Kafka、RocketMQ这四款消息队列在优先级队列、延迟队列、死信队列、重试队列、消费模式、广播模式等方面各有其特点和差异。以下是对这些方面的详细比较:1.优先级队列ActiveMQ:支持优先级队列,可以在发送消息时指定消息的优先级,消息队列会根据优先级对消息进行排序,优先级高的消
python3.13及其新特性
Channing Lewis
Pythonpython
截至目前,Python的最新稳定版本是3.13.1,于2024年10月7日发布。该版本引入了多项新特性和改进,主要包括:全新的交互式解释器:提供多行编辑、历史记录保存和彩色提示等功能,提升了开发者的使用体验。实验性无全局解释器锁(GIL)支持:允许在自由线程模式下运行,提升多线程程序的性能。即时编译器(JIT):引入了实验性的JIT编译器,旨在提高代码执行效率。错误消息改进:增强了错误消息的可读性
hot 100刷题小结 1
leisure_SU
算法
目录数组题31下一个排列题48旋转图像题169多数元素题215数组中的第k个最大元素题238除自身外数组的乘积题448找到数组中所有消失的数字位运算题338比特位计算题136只出现一次的数字题461汉明距离二分查找题4寻找两个正序数组的中位数题33搜索旋转排序数组题34在排序数组中查找元素的第一个和最后一个位置题240搜索二维矩阵2双指针题3无重复字符的最长字串题5最长回文子串题11盛最多水的容器
《算法零基础100讲》(第61讲) 前缀和(五) 二维前缀和
英雄哪里出来
《算法零基础100讲》算法线性代数矩阵前缀和二维前缀和
文章目录一、概念定义1、预处理2、预处理代码实现3、查询4、查询代码实现二、题目描述三、算法详解四、源码剖析五、推荐专栏六、习题练习一、概念定义 有关一维前缀和的概念,在《算法零基础100讲》(第57讲)前缀和(一)线性前缀和入门中已经较为清晰的阐述,今天我们来学习二维的情况。1、预处理 问题的起源就是对一个矩阵,如何在最快的时间内,求出它的某个子矩阵的和。我们首先把问题简化,对于一个n×mn
【项目分享】使用python的ttkbootstrap模块构建一个炫酷的计时器
命运之光
我的项目源代码集:持续更新python开发语言
目录前言项目背景项目展示(图片)项目实现1.安装与设置2.创建主窗口3.初始化计时器功能4.实现计时功能5.实现隐藏边框与置顶功能6.运行应用完整代码结论嗨,我是命运之光!2024,每日百字,记录时光,感谢有你一路同行。携手启航,探索未知,激发潜能,每一
【漫话机器学习系列】054.极值(Extrema)
IT古董
漫话机器学习系列专辑机器学习人工智能
极值(Extrema)定义极值是数学分析和优化问题中的一个核心概念,指函数在某个定义域内取得的最大值或最小值。根据极值的性质,可以将其分为两类:局部极值(LocalExtrema):函数在某点附近的最大值或最小值。全局极值(GlobalExtrema):函数在整个定义域内的最大值或最小值。分类局部极大值(LocalMaximum):若在点x=a附近存在某邻域,使得对任意x在该邻域内,满足f(x)≤
selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_CONNECTION_CLOSED
芝麻团坚果
chrome爬虫
https://www.cnblogs.com/lfri/p/10542797.html参照这篇重装chromedriver根据chromeF12修改代码里的headers设置
Three.js + React + Echart(折线图 光线流动效果,柱状图数据动态更新动画) + Svga-Web应用之数据大屏(适配1920*1080 2560*1440 3840*2160)
ConstSuccess
前端架构3D模型数据大屏javascript前端react.js
Web应用之数据大屏一、技术栈React17.0.0搭建脚手架Eahcrt常规图表Svga动画3D模型-Three.Js大屏适配-目标大屏(4K-3840*2160)二、React17.0.0脚手架搭建npxcreate-react-appmy-appcdmy-appnpmstart具体详细情况,自行官网查看React官网三、Echarts常规图表1、echarts-for-reactEchart
Ubuntu 24.04 LTS安装Python2失败解决
WLHG8PLUS
ubuntulinux服务器
Ubuntu24.04LTS安装Python2失败解决安装Ubuntu24.04之后,安装python2会提示:~/$sudoaptinstallpython2Readingpackagelists...DoneBuildingdependencytree...DoneReadingstateinformation...DonePackagepython2isnotavailable,butisr
Swift 搞定“Main actor-isolated property can not be referenced from a Sendable closure”编译错误
大熊猫侯佩
Apple开发入门Swift6结构化并发MainActor异步隔离Sendable闭包
概述当我们在Xcode中开启Swift语言严格并发模式(StrictConcurrencyChecking)或使用Swift6版本编译代码时,小伙伴们大概率会碰到如下错误:Mainactor-isolatedpropertycannotbereferencedfromaSendableclosure这个错误告诉我们:我们正在尝试使用一些本只应在MainActor上或从MainActor上使用的对象
【Python】进程管理之 subprocess
jackwongs
pythonwindows开发语言
一个好的子进程管理需要满足什么功能需求?无阻塞/阻塞标准输入/输出信号发送/kill其实也不多。开始123456importsubprocessproc=subprocess.Popen('ping127.0.0.1',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,stdin=subprocess.PIPE)print(pro
Unity3D仿星露谷物语开发24之创建时间管理器
数据猴赛雷
Unity游戏unity游戏引擎游戏
1、目标创建一个时间管理类,它将管理一年的四季、日、周、时、分、秒,也与时间的触发事件有关。本小节只需要将当前时间打印到控制台。2、思路通过累加TimeDelta时间得到秒数,通过秒继而得到分、时、天、季节、年的信息。通过Event事件更新时间。3、优化Enums.cs脚本新增如下内容:publicenumSeason{Spring,Summer,Autumn,Winter,none,count}
GrblHAL 1.1 关于归零的相关配置问题
洛小白2233
grblstm32单片机硬件工程
一、问题导入最近在研究grblHAL控制板,相对于基于arduino的grbl,grblHAL有着更出色的性能表现以及更高级的配置。我选择使用主芯片为STM32F401的grbl控制板,上位机选择开源的LaserGrbl,用来制作激光雕刻机。然而在实际配置中遇到不少问题。其他配置不算难,与grbl一致,重点就几个方向、步数有关的参数。很快,只要不考虑机器绝对坐标,雕刻机就算完成了。但是研究归零功能
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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,