- 安卓端某音乐类 APP 逆向分享(二)协议分析
泡泡以安
爬虫技术#安卓逆向安卓逆向爬虫安全
以歌曲搜索协议为例,查看charles中歌曲搜索协议详情拷贝出搜索协议的Curl形式curl-H'Host:interface3.music.xxx.com'-H'Cookie:EVNSM=1.0.0;NMCID=oufhty.1667355455436.01.4;versioncode=8008050;buildver=221010200836;resolution=2392x1440;devi
- MAX7219数码管+RTC时钟——stm32
嵌入式学徒 未来评测学徒
stm32keilmdk物联网
rtc.c文件如下:具体请查看原子哥正点原子RTC实时时钟例程,发现BUG,求解决。-OpenEdv-开源电子网#include"sys.h"#include"delay.h"#include"rtc.h"#include"stdio.h"_calendar_objcalendar;//时钟结构体//staticvoidRTC_NVIC_Config(void)//{//NVIC_InitType
- 多模态大语言模型arxiv论文略读(140)
SemiHVision:EnhancingMedicalMultimodalModelswithaSemi-HumanAnnotatedDatasetandFine-TunedInstructionGeneration➡️论文标题:SemiHVision:EnhancingMedicalMultimodalModelswithaSemi-HumanAnnotatedDatasetandFine-T
- 【用户权限】超级用户(二)
超级用户Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限在大多数版本的Linux中,都不推荐直接使用root账号登录系统在Linux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”sudosu是substituteuser的缩写,表示使用另一个用户的身份sudo命令用来以其他身份来执行命令,预设的身份为root用户使用sudo
- fastapi使用gunicorn还是uvicorn
程序员的战歌
Pythonfastapi
Uvicorn在单进程上使用异步协程是有优势的,但是如果接口方法是同步的则走的多进程模式,也就是workers的数量,这个时候uvicorn不如gunicorn,性能上会有些限制。uvicornmain:app--host0.0.0.0--port8000--workers4Gunicorn是一个使用WSGI标准的应用服务器。Flask和Django可以直接使用Gunicorn运行,但是FastA
- Python包管理新纪元:极速工具 uv 完全指南(2025最新版)
coder_风逝
Python数据挖掘分析pythonuv开发语言
作为Python开发者,你是否还在忍受pip缓慢的依赖解析速度?是否厌倦了在virtualenv、pip-tools和poetry之间来回切换?今天我要向大家介绍一款革命性的工具—uv,它将彻底改变你的Python开发体验!一、uv是什么?uv是由打造了Ruff(Python超速Linter)的Astral团队开发的全新Python包管理工具,基于Rust编写,旨在成为"Python界的Cargo
- Kyle的天机学堂学习笔记
Z2475269074
学习笔记
本文将展示一个小白从0->1完成项目的全部历练已经心得PS:要求做到真正的自我思考而不是对着教程敲代码,并借用AI进行辅佐与思考DAY1Maven子工程会继承父工程所有依赖有三套生命周期,互不干扰且同一生命周期内执行命令会以此完成之前的命令1.clean2.default(compile,test,package,install)3.site(deploy)对象DTO数据传输对象,用于服务端与客户
- Python 包管理新选择:全面了解 uv(附 Conda 对比)
茫茫人海一粒沙
pythonuvconda
在Python的世界里,我们常用pip安装依赖,用venv创建虚拟环境,还可能用pip-tools来生成锁文件。这些工具虽然灵活,但组合使用时也容易让人混乱。最近,一个名叫uv的新工具火了起来,目标是统一和简化整个Python包管理流程。uv是什么?uv是由Astral开发的一个超快的Python包管理器,用Rust编写。它旨在作为pip、pip-tools、virtualenv和python-b
- 16、流体力学数值模拟
404Feels
流体力学数值模拟纳维-斯托克斯方程
流体力学数值模拟1.流体力学的基本方程流体力学是研究流体(液体和气体)运动规律的学科,其基本方程是纳维-斯托克斯方程(Navier-Stokesequation)。该方程描述了流体的速度、压力、温度等物理量随时间和空间的变化。为了便于数值求解,我们需要将这些方程离散化。以下是纳维-斯托克斯方程的标准形式:[\frac{\partial\mathbf{u}}{\partialt}+(\mathbf{
- Vue中的v-if与emit事件传递:一个常见陷阱分析
发现你走远了
vue.jsjavascript前端
Vue中的v-if与事件传递:一个常见陷阱分析在Vue开发中,v-if与事件传递的组合可能会导致一些难以排查的问题。本文将分析一个典型案例,并提供解决方案。问题描述在一个登录流程中,我们有三个组件嵌套:InviteCodeDialog(邀请码验证组件)PcLogin(登录组件,包含InviteCodeDialog)PcLoginView(页面组件,包含PcLogin)每个组件都有自己的日志输出:/
- Adobe Firefly AI驱动设计:实用技巧与创新思维路径
reddingtons
人工智能adobe大数据photoshopillustratorPremiereInDesign
开篇分享最近深度体验了英国ParvisSchoolofEconomicsandMusic的Adobe正版教育订阅,挖掘CreativeCloud全家桶的各种功能时,收获了不少惊喜,迫不及待想跟大家分享!简单聊聊这个订阅的体验:Firefly积分超给力,每周1500点,堪称我用过最慷慨的版本;设备支持方面,最多可绑定4台设备,可惜我手头设备不多,没能玩个尽兴(预算有限,笑);透明度上,学校提供的IT
- rollupOptions 详细讲解,如何优化性能
东心十
vue.js
RollupOptions详细讲解与性能优化Rollup是一个JavaScript模块打包器,特别适合用于库和应用的打包。rollupOptions是在使用Vite、WMR等构建工具时配置Rollup的选项对象。下面我将详细讲解rollupOptions的各个配置项以及如何优化打包性能。核心配置项详解输入(input)javascriptrollupOptions:{input:‘src/main
- Redis初识第五期---List的命令和使用场景
wuyunhang123456
redis数据库缓存
List,相当于数组或者顺序表,List对元素顺序敏感,允许元素重复,这是和后面的Set类型来对比的,但是得益于Redis对List的优化,使得它支持头/尾插/删,使得List也可以作为一个栈/队列来使用。命令普通版本命令1.LPushLPushkeyelement[element.....]头插,可以同时插入多个元素,最后一个元素在最前面。返回的为list的长度,可以为key为空的插入元素。2.
- 使用Git版本控制查看文件更改历史
1010n111
git
使用Git版本控制查看文件更改历史技术背景在软件开发和项目管理中,版本控制是一项至关重要的技术。Git作为目前最流行的分布式版本控制系统,提供了强大的文件更改历史查看功能。通过查看文件的更改历史,开发者可以了解文件的演变过程,追踪问题的根源,以及与团队成员进行有效的协作。实现步骤生成每个日志条目的补丁使用以下命令让Git为每个日志条目生成补丁:gitlog-p--其中,-p选项用于生成补丁文本。获
- 记录一个异常检测库
STO检测王
深度学习
https://github.com/openvinotoolkit/anomalib/tree/main关于一个异常检测库,包括最先进的算法和功能,如实验管理,超参数优化和边缘推理。
- BP-Tools21.02下载 加解密利器 金融安全交易算法工具 PCI认证工具 金融和智能卡的数据加解密和数据转换工具
小黄人软件
金融安全
21.02版下载金融领域常用算法如AESRSADES都能计算,还能计算DUKPTAES/DES,以及TR31KBH的格式解析和数据包计算,另外还能提供EMVATRparser(ATR命令解析),HSM加密机指令组包,SimCard文件编辑和解析。
- Systeminternals工具集:蓝队安全分析师的瑞士军刀
Bruce_xiaowei
渗透测试笔记总结经验安全CTFwindows
Systeminternals工具集:蓝队安全分析师的瑞士军刀引言:为何Systeminternals对安全人员至关重要在Windows安全分析和应急响应领域,Systeminternals工具集被公认为"瑞士军刀"级的存在。这套由MarkRussinovich开发(后被微软收购)的工具集提供了对Windows系统的深度访问能力,无论是分析恶意软件、排查系统异常,还是进行日常维护,都能提供无可替代
- Flutter多设备之典型布局场景
harmonyos
Flutter多设备之典型布局场景参考鸿蒙原生典型布局场景,保持相似体验。布局能力使用场景使用说明页签栏使用页签控制内容切换的容器,每个页签对应一个内容视图。基于动态断点,当位于sm,md时,使用flutter内置组件DefaultTabController、TabBar和TabBarView显示底部页签栏;当位于lg时,使用DefaultTabController和NavigationRail显
- RecycleView实现 viewFlipper 广告条垂直滚动效果(仿叮咚买菜)
鸿蒙小林
安卓开发java技术支持安卓javaandroidandroid-studio
demo码云代码仓库实现效果viewFlipper的使用这里就不介绍了,想通过viewFlipper实现广告条滚动效果的可以去看git上的这个案例因为不是什么太难的功能就不对细节做太多的讲解了,代码里有我写好的注释,直接上代码view/***@authorwhl*Createdon:3/1/223:07PM*description*/publicclassUpRollRecyclerFragmen
- 安卓开发实现CoordinatorLayout+AppBarLayout+TabLayout+RecycleView 悬停效果 滑动列表tabLayout定位
鸿蒙小林
安卓开发java技术支持android安卓androidstudio
在安卓中实现CoordinatorLayout+AppBarLayout+TabLayout+RecycleView悬停效果滑动rv列表tablayout定位效果效果图在开发中要用到写个demo记录一下,有这个需求的同志也可以做个参考XmlViewprivateListlist;privateMainAdapteradapter;privateRecyclerViewrecyclerView;pr
- yum 报错解决记录
孤高飘云影
linuxcentos运维
创建一个虚拟机,在安装yum源的时候,执行到yummakecahce的时候,报如下的错误:解决方式:1、执行如下命令修改fastestmirror.conf的配置参数sed-i"s|enabled=1|enabled=0|g"/etc/yum/pluginconf.d/fastestmirror.conf2、备份一下原yum源文件mv/etc/yum.repos.d/CentOS-Base.rep
- Deepfacelive安装报错解决记录
matouxiao
conda
去c盘:windows/system32目录下面找不能load的文件比如kernel132.dll,然后copy到.\DeepFaceLive_NVIDIA\_internal\CUDA\bin目录下就能运行
- AI 技术&AI开发框架
34号树洞
人工智能深度学习人工智能机器学习NLPGAI
目录一、AI技术及其开发框架1.AI技术分类与代表方向2.主流AI开发框架3.AI应用开发流程简述4.补充:基础依赖与生态二、AI技术方向1.机器学习(MachineLearning,ML)✦核心概念:✦关键方法:✦应用案例:2.深度学习(DeepLearning,DL)✦核心概念:✦网络结构举例:✦技术趋势:3.自然语言处理(NLP)✦核心任务:✦代表模型:4.计算机视觉(ComputerVis
- LGTM?Github中那些迷之缩写
SunTecTec
github
PR:PullRequest.拉取请求,给其他项目提交代码LGTM:LooksGoodToMe.朕知道了代码已经过review,可以合并SGTM:SoundsGoodToMe.和上面那句意思差不多,也是已经通过了review的意思WIP:WorkInProgress.传说中提PR的最佳实践是,如果你有个改动很大的PR,可以在写了一部分的情况下先提交,但是在标题里写上WIP,以告诉项目维护者这个功能
- SVN There are unfinished transactions detected
fz1989
EclipseSVNcommit遇到Thereareunfinishedtransactionsdetected错误在TeamSynchronizingView中右键项目->Local->Cleanup,清除历史记录后问题解决
- ClickHouse:在 CentOS7.4 中编译 ClickHouse
目录一、环境准备二、创建编译使用的脚本三、编译ClickHouse一、环境准备1.1、CentOS版本为7.4.17081.2、从githubcloneClickHouse源码,checkout到tagv21.2.6.1-stable。cloneClickHOuse代码的时候需要把依赖的子项目也都clone下来,命令如下:gitclone--recursivehttps://github.com/
- 关于JAVA中LIST元素修改的一个问题记录
在工作中有遇到一个问题,需要从既有获取数据库中的LIST数据,做一下对其中部分数据做处理存入另外一个LIST集合之中,但是,有些现象还是比较出乎我的意料的,模拟了一下相关场景,具体的代码如下:packagecom.interview.demo;importjava.util.ArrayList;importjava.util.List;classStudent{privateStringname;
- nt!CcGetVirtualAddressIfMapped函数中的nt!CcGetVacbLargeOffset函数分析--重要
sitelist
nt4源代码分析CcGetVacbLargeVacbLargeOffsetAddressIfMappedCcGetVirtualAddAddressIfMapp
第一部分:1:kd>kc#00nt!CcGetVirtualAddressIfMapped01nt!CcFlushCache02Ntfs!LfsFlushLfcb03Ntfs!LfsFlushToLsnPriv04Ntfs!LfsWriteLfsRestart05Ntfs!LfsWriteRestartArea06Ntfs!NtfsCheckpointVolume07Ntfs!NtfsCheckp
- R语言入门课| 05 一文掌握R语言常见数据类型
Biomamba生信基地
r语言信息可视化开发语言生信医药
视频教程大家可以先做一做R语言基础小测验,看看自己是否需要跟我们5.5h入门R语言的课程。先上教程视频,B站同步播出:https://www.bilibili.com/video/BV1miNVeWEkw完整视频回放和答疑服务可见:5.5h入门R语言本节课程视频:(点击此处查看)"R语言入门课"是我们认为生信小白入门不得不听的一个课程,我们也为这个课程准备了许多干货。R语言的精髓便是数据处理,在本
- 人脸识别常用数据集和Loss
JL_Jessie
人脸识别深度学习
人脸识别数据集数据集的noise对训练效果的影响很大!很长一段时间MegaFace的效果都上不去,就是因为数据集噪声的原因。而且自己在训练人脸的时候,如果不对数据集的噪声和属性有一点了解,对训练结果可能会有误判,甚至越训练越差…在选择数据集的时候不要一味求大,有的时候选择一个noise比例极高的大数据集,效果还不如选择一个clean的小数据集呢,可以参见这篇论文TheDevilofFaceReco
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,