E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
编程实战
asp访问c#创建的加密解密dll(封装DESCryptoServiceProvider)
boardID=16&ID=1230&page=1这里只是写的更详细一些从COM组件调用.NET组件
编程实战
作者:朱学武需求:asp.net主站有些信息使用DES方式加解密。
gby630
·
2020-06-23 09:59
dll
asp
加密
解密
c#
assembly
《Java多线程
编程实战
指南(设计模式篇)》答疑总结(陆续更新)
博客分类:《Java多线程
编程实战
指南(设计模式篇)》答疑开展以来,不少网友提出的问题既有与本书有关的话题,也有Java多线程编程基础知识的相关话题。由于时间关系,对于重复的问题我不逐一回复。
dotedy
·
2020-06-23 05:00
Java 并发编程内部分享PPT分享
最近系统性的学习了DougLea《JAVA并发
编程实战
》一书。这书很有嚼劲,进入JAVA技术体系必看书籍之一。
dengzai7446
·
2020-06-23 03:22
Join()会不会释放锁?
文章目录答案Demo分析拾遗答案会不过不能确切的说Demo网上找了很久没有找到答案,从书中找答案,《Java并发编程艺术》、《Java并发
编程实战
》均没有找到,在《Java多线程编程核心技术》中找到了答案
Leesin Dong
·
2020-06-23 03:36
#
JAVA
------
High
Concurrency
java网络
编程实战
- 要想全面玩转Netty实战,你需要了解或深入理解掌握这些
前言怎样才能说自己懂Netty?如何将Netty了解到一定的深度?如何全面玩转Netty的实战?不妨沿着下面的路径,对Netty进行一个全面的认识和思考!第一节、网络编程NIO的Reactor模式第二节、Netty和选择Netty的理由第三节、Netty入门中三个基本特性第四节、核心概念和机制-EventLoop、EventLoopGroup第五节、主要组件ChannelHandler、Chann
wavebeed
·
2020-06-22 22:26
Netty
Java网络编程
NIO
并发
编程实战
学习笔记(五)——取消与关闭
题记在Java中没有一种安全的抢占方法来停止线程,因此也就没有安全的抢占式方法来停止任务。只有一些协作式的机制,使请求取消的任务和代码都遵循一种协商好的协议。响应中断时执行的操作包括清除中断状态抛出InterrruptedException,表示阻塞操作由于中断而提前结束对中断操作的正确理解调用interrupt并不意味着立即停止目标线程正在进行的工作,而只是传递了请求中断的消息。它并不会真正地中
chaozhi_guo
·
2020-06-22 21:59
Java
java
编程
并发
线程
安全
scikit-learn机器学习常用算法原理及
编程实战
(二)
Python机器学习软件包开发环境搭建安装开发环境Anacondaor安装python后执行pipinstalljupyternumpymayplotlibscipyscikit-learnseabornIPython简介与Shell紧密关联,可以在IPython环境下直接执行Shell指令。可以直接绘图操作的WebGUI环境,在机器学习领域、探索数据模式、可视化数据、绘制学习曲线时,这一功能特别
az4599459
·
2020-06-22 15:32
scikit-learn机器学习常用算法原理及
编程实战
(五)
决策树决策树是最经典的机器学习模型之一。预测速度快,可以处理类别型数据和连续型数据。通过本章读者可以掌握以下内容:信息熵及信息增益的概念,以及决策树的分裂的原则;决策树的创建及剪枝算法;scikit-learn中决策树算法的相关参数;使用决策树预测泰坦尼克号幸存者实例;scikit-learn中模型参数选择的工具及使用方法;聚合算法及随机森林算法的原理。算法原理决策树是一个类似于流程图的树结构,分
az4599459
·
2020-06-22 15:32
scikit-learn机器学习常用算法原理及
编程实战
(一)
机器学习介绍机器学习的概念机器学习要解决的问题分类使用机器学习解决问题的一般性步骤什么是机器学习机器学习是一个计算机程序,针对某个特定的任务,从经验中学习,并且越做越好。谁掌握的数据量大、质量高,谁就占据了机器学习和人工智能领域最有利的资本。机器学习有什么用语音识别、自然语言处理、人脸识别系统等等机器学习的分类有监督学习(Supervisedlearning)---通过大量已知的输入和输出相配对的
az4599459
·
2020-06-22 15:01
RTSP协议详解与实时流视频预览-第6/11季视频课程-海思-朱有鹏-专题视频课程
RTSP是实时视频网络传输主流的实现方式,低延时高清晰度的RTSP视频流传输是网络直播、在线会议系统等行业的核心技术,本季课程会详细讲解相关概念、
编程实战
和调试技巧等。
朱有鹏老师
·
2020-06-22 15:39
视频教程
Go语言-类型
声明:本问中的内容均出自《Go语言编程》、《Go语言学习笔记》、《Go并发
编程实战
》、以及视频“跟着无闻学Go”视频连接如下:http://edu.51cto.com
90Runner
·
2020-06-22 03:03
Go语言学习
工具
Java并发
编程实战
——详解Condition的await和signal等待通知机制
文章目录wait()、notify()为什么在Ojbect类下?Condition初探Condition实现原理分析await()的实现:sinal()方法wait()、notify()为什么在Ojbect类下?在jdk1.5以前,我们使用synchronized,而因为synchronized中的这把锁可以是任意对象的,所以任意对象都可以调用wait()和notify();所以wait和noti
No_Game_No_Life_
·
2020-06-22 02:42
并发编程
Java并发
编程实战
——并发编程的优缺点
文章目录为什么要用到并发并发编程有哪些缺点频繁的上下文切换线程安全为什么要用到并发在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。顶级计算机科学家DonaldErvinKnuth如此评价这种情况:在我看来,这种现象(并发)或多或少是由于硬件设计者无计可施了导致的,他们将摩尔定律的责任推给了软件开发者。另外,在特殊的业务场景下先天的
No_Game_No_Life_
·
2020-06-22 02:10
并发编程
Java并发
编程实战
,快来看看(仅供学习研究)
前言本文主要用于学习交流Java并发编程,锤炼Java多线程使用的技能点线程池线程资源共享多线程读写问题使用IP代理方式,从代理商获取IP,每天稳定增加访问量2w(全部博客总量,而非单篇)左右。此方式仅供学习研究,切勿实际使用!!!后果自负实现思路先通过博客列表页面,获得全部博客URL开启n个线程,每隔线程隔10s开始执行任务获取代理IP(200个),每个线程每隔60~120s随机时间间隔代理访问
Mrkaizi
·
2020-06-22 02:13
#多线程
并发编程
HBase
编程实战
编程实现以下指定功能,并用Hadoop提供的HBaseShell命令完成相同任务:(1)列出HBase所有的表的相关信息,例如表名;publicstaticvoidmain(String[]args)throwsIOException{Configurationconfiguration=HBaseConfiguration.create();configuration.set("hbase.ro
W.J.Z
·
2020-06-22 00:33
大数据
第26课:Scala的核心力量和黄金定律
1.Scala的核心力量基于自下而上和自上而下的软件设计和
编程实战
基础之上结合数据状态不可变性基础之上的融合了类型系统和隐式转换技巧的函数式编程说明1:自上而下(对象/接口):面向对象编程,把软件系统作为一个个对象
fatj
·
2020-06-21 23:02
汪文均Java并发编程多线程
编程实战
共三阶段视频教程
汪文均Java并发编程多线程
编程实战
共三阶段视频教程├─第一阶段│源码+ppt.rar│高并发编程第一阶段01讲、课程大纲及主要内容介绍.wmv│高并发编程第一阶段02讲、简单介绍什么是线程.wmv│高并发编程第一阶段
最是那一低头的温柔
·
2020-06-21 21:53
学习资料
面试知识汇总(四)-- 多线程和并发
:synchronized、Lock、ConditionJava中的锁死锁Volitale并发编程:Java并发编程:Thread类的使用Java多线程编程总结Java并发编程的总结与思考Java并发
编程实战
dido222
·
2020-06-21 19:42
Android开发岗面试题
java网络
编程实战
- 原生NIO非阻塞式通讯网络
编程实战
前言上次提到要改进我们的RPC框架,这周花时间研究一下JDK提供给我们的原生NIO非阻塞式网络编程思想。NIO库是在JDK1.4中引入的。NIO弥补了原来的I/O的不足,它在标准Java代码中提供了高速的、面向块的I/O。BIO与NIO的主要区别1.面向流和面向缓冲javaNIO和BIO之间第一个最大的区别是,BIO是面向流的,NIO是面向缓冲区的。JavaIO面向流意味着每次从流中读一个或多个字
wavebeed
·
2020-06-21 15:56
NIO
非阻塞
JDK原生
《JAVA并发
编程实战
》第七章 取消与关闭
7.1任务取消程序清单7-1使用volatile类型的域来保存取消状态publicclassPrimeGeneratorimplementsRunnable{privatefinalListprimes=newArrayListget(){returnnewArrayListaSecondOfPrimes()throwsInterruptedException{PrimeGeneratorgene
小超_8b2f
·
2020-06-21 14:40
《java并发
编程实战
》 第七章 任务、线程的取消与关闭
《java并发
编程实战
笔记》第七章任务、线程的取消与关闭任务如何取消通过判断volatile类型的状态量----不一定可靠通过中断-----实现取消最合理方法可中断的阻塞函数如何响应中断通过Future
乌鸦大大
·
2020-06-21 12:55
java并发编程实战
《java并发
编程实战
》 第八章 线程池的使用
《java并发
编程实战
笔记》第八章线程池的使用与执行策略之间存在隐形耦合的任务(不可轻易更改线程池)设置线程池的大小配置ThreadPoolExecutor线程的创建配置任务队列的管理饱和策略(任务有界队列
乌鸦大大
·
2020-06-21 12:21
java并发编程实战
Exchanger类:并发任务间的数据交换
本文参考至《Java7并发
编程实战
手册》Exchanger类允许在两个线程之间定义同步点,当两个线程都到达同步点时,它们交换数据。
higher2017
·
2020-06-21 12:10
Java并发
编程实战
————Lock
可替代synchronized的手动锁ReentrantLock是Lock接口的一个实现,可以用于替代synchronized。使用ReentrantLock可以完成类似synchronized(this)的功能,需要注意的是,就算线程已经执行完毕,Lock也不会自动释放锁,必须要手动释放锁!!!与synchronized不同的是:使用synchronized锁定的话如果遇到异常,JVM会自动释放
圣斗士Morty
·
2020-06-21 09:28
Java多线程与并发
从0学习java并发
编程实战
-读书笔记-java内存模型(14)
什么是java内存模型假设一个线程为变量aVariable赋值:aVariable=3;内存模型需要解决的问题:在什么条件下,读取aVariable的线程将看到这个值为3?如果缺少同步,那么将会有许多因素使得线程无法立即甚至永远,看到另一个线程的操作结果。在编译器中生成的指令顺序,可以与源代码中的顺序不同,编译器还会把变量保存在寄存器而不是内存中。处理器可以采用乱序或并行等方式来执行指令。缓存可能
伟大的卷发
·
2020-06-21 02:58
java
内存
多线程
并发
并发编程
从0学习java并发
编程实战
-读书笔记-原子性与非阻塞同步算法(13)
近年来,在并发算法领域的大多数研究都侧重于非阻塞算法,这种算法用底层的原子机器指令(例如比较和交换指令)代替锁来确保数据在并发访问中的一致性。非阻塞算法被广泛的用于在操作系统和JVM中实现线程/进程调度机制,垃圾回收机制以及锁和其他并发数据结构。与基于锁的方案相比,非阻塞算法在设计和实现上都要复杂的多,但它们在可伸缩性和活跃性上有着巨大的优势。由于非阻塞算法可以使多个线程在竞争相同的数据时不会发生
伟大的卷发
·
2020-06-21 02:26
java
并发编程
并发
多线程
同步
从0学习java并发
编程实战
-读书笔记-构建自定义的同步工具(12)
类库包含了许多存在状态依赖的类,例如FutureTask、Semaphore和BlockingQueue等。在这些类的一些操作中有着基于状态的前提条件,例如,不能从一个空的队列中删除元素,或者获取一个尚未结束的任务的计算结果,在这些操作可以执行之前,必须等到队列进入“非空状态”,或者任务进入已完成状态。创建状态依赖类的最简单方式就是在类库中现有的状态依赖类上进行构造,例如countDownLatc
伟大的卷发
·
2020-06-21 02:53
java
并发编程
多线程
后端开发
锁
从0学习java并发
编程实战
-读书笔记-显式锁(11)
Java5.0增加了一种新的机制:ReentrantLock,ReentrantLock并不是一种替代内置加锁的方法,而是当内置加锁机制不适用时,作为一种可选择的高级功能。Lock和ReentrantLock与内置的加锁机制不同,Lcok提供了一种无条件的、可轮训的、定时的以及可中断的锁获取操作,所有的加锁和解锁的方法都是显式的。在Lock的实现中必须提供与内部锁相同的内存可见性语义,但在加锁语义
伟大的卷发
·
2020-06-21 02:52
java
多线程
并发编程
锁
synchronized
从0学习java并发
编程实战
-读书笔记-性能与可伸缩性(10)
线程的最主要目的是提高程序的运行性能。虽然我们希望获得更好的性能,但是始终需要把安全性放在第一位。首先需要保证程序能正确运行,然后仅当程序的性能需求和测试结果要求程序执行的更快时,才应该设法提高它的运行速度。在设计并发程序时,最重要的通常不是把性能提至极限。对性能的思考提升性能意味着用更少的资源做更多的事。当操作性能由于某种特定的资源而受到限制时,我们通常将该操作称为资源密集型的操作,例如CPU密
伟大的卷发
·
2020-06-21 02:52
java
多线程
并发编程
synchronized
后端开发
从0学习java并发
编程实战
-读书笔记-活跃性问题(9)
在安全性与活跃性之间通常存在着某些制衡。我们使用加锁机制来确保线程安全,单如果过度的使用加锁,则可能导致锁顺序死锁(Lock-OrderingDeadlock)。我们使用线程池和信号量来限制对资源的使用,但这些被限制的行为可能会导致资源死锁(ResourceDeadlock)。死锁在数据库系统的设计中考虑了检测死锁以及从死锁中恢复。当数据库系统检测到一组事务发生了死锁(通过在表示等待关系的有向图中
伟大的卷发
·
2020-06-21 02:52
死锁
synchronized
java
多线程
并发编程
从0学习java并发
编程实战
-读书笔记-取消与关闭(7)
要使任务和线程能安全、快速、可靠的停下来,并不是一件容易的事。java没有提供任何机制来安全地终止线程(Thread.stop和suspend等方法提供了这样的功能,但是存在严重缺陷,应该避免使用)。但是java提供了中断(Interruption),这是一种协作机制,能够使一个线程终止另一个线程的当前工作。我们很少希望某个任务、线程或服务立即停止,因为这种立即停止会使共享的数据结构处于不一致的状
伟大的卷发
·
2020-06-21 02:44
java
synchronized
并发
并发编程
同步
从0学习java并发
编程实战
-读书笔记-第一部分总结(5)
总结的内容来自原文的90-91页可变状态是至关重要的。所有的并发问题都可以归结为如何协调对并发状态的访问。可变状态越少,越容易确保线程安全性。尽量将域声明为final类型,除非需要它们是可变的。不可变对象一定是线程安全的。不可变对象能极大的降低并发编程的复杂性。它们更为简单而且安全,可以任意共享而无需使用加锁或保护性复制等机制。封装有助于管理复杂性。在编写线程安全的程序时,虽然可以将所有数据都保存
伟大的卷发
·
2020-06-21 02:13
java
并发编程
并发
synchronized
多线程
从0学习java并发
编程实战
-读书笔记-结构化并发应用程序(6)
在线程中执行任务在理想情况下,任务之间都是相互独立的:任务并不依赖于其他任务的状态,结果或边界效应。独立性有助于实现并发。大多数服务器的应用程序都提供了一个自然的任务边界:以独立的客户请求为边界。串行地执行任务最简单的方式就是在单个线程中串行的执行各项任务。但是现实中的web服务器的情况却并非如此。在web请求中包含了一组不同的运算和I/O操作。服务器必须处理套接字I/O以读取请求和写回响应,这些
伟大的卷发
·
2020-06-21 02:13
java
并发
并发编程
synchronized
多线程
从0学习java并发
编程实战
-读书笔记-基础构建模块(4)
同步容器类同步容器类包括Vector和Hashtable,这两个是早期JDK的一部分。此外还包括在JDK1.2中添加Collections.synchronizedXxx等工厂方法,这些类实现线程安全的方式是:将它们的状态封装起来,并对公有方法进行同步,使得每次只有一个线程能访问容器的状态。同步容器类的问题同步容器类都是线程安全的,但是某些复合操作需要额外的客户端加锁来保护,常见的复合操作:迭代:
伟大的卷发
·
2020-06-21 02:12
java
并发
并发编程
synchronized
多线程
从0学习java并发
编程实战
-读书笔记-对象的组合(3)
设计线程安全的类在设计线程安全类的过程中,需要包涵以下三个基本要素:找出构成对象状态的所有变量找出约束状态变量的不变性条件建立对象状态的并发访问管理策略同步策略(SynchronizationPolicy)定义了如何在不违背对象不变条件或后验条件的情况下对其状态的访问操作进行协同。收集同步需求要确保类的线程安全性,就需要保证它的不变性条件不会在并发访问的情况下被破坏。对象和变量都有一个状态空间,即
伟大的卷发
·
2020-06-21 02:40
synchronized
并发
java
锁
同步
从0学习java并发
编程实战
-读书笔记-对象的共享(2)
要编写正确的并发程序,关键在于:在访问共享的可变状态时,需要进行正确的管理。可见性publicclassNoVisibility{privatestaticbooleanready;privatestaticintnumber;privatestaticclassReaderThreadextendsThread{publicvoidrun(){while(!ready){Thread.yield
伟大的卷发
·
2020-06-21 02:39
java
并发
锁
synchronized
同步
Android高级开发必读书单
基本语法(如继承、异常、引用、泛型等)Java核心技术卷I(适合入门)进阶EffectiveJava中文版(如何写好的Java代码)Java解惑(介绍烂Java代码是什么样的)(b)多线程、并发Java并发
编程实战
NullPoints
·
2020-06-21 00:59
【架构设计】
Java并发编程(八):并发安全
一、什么是线程安全性在《Java并发
编程实战
》中,定义如下:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在调用代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为
逆风fei扬
·
2020-06-20 23:20
java网络
编程实战
- 基于BIO的伪异步、高并发、全双工、长连接持续消息IO的网络编程
前言TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP
cemanduan
·
2020-06-20 17:20
vcvc
废墟现场
得瑟得瑟
java网络
编程实战
- 运用TCP通讯思想,手写设计实现可定制、复用和扩展的RPC服务调用框架
前言RPC(RemoteProcedureCall)远程过程调用是一种思想,也是目前微服务调用领域的主流开发模式。就底层的网络协议来说,TCP、UDP、HTTP等协议均可以设计实现我们需要的RPC。其中基于TCP协议实现的RPC框架在可靠性、性能和可伸缩性等方面都更胜一筹,其中Dubbo、GRPC为代表(虽然其基于Netty通信框架,但其底层均为TCP协议)。RPC框架交互流程根据以上流程我们可以
wavebeed
·
2020-06-19 17:02
RPC
远程过程调用
微服务
java网络
编程实战
- 基于BIO的伪异步、高并发、全双工、长连接持续消息IO的网络编程
前言TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP
wavebeed
·
2020-06-17 17:22
BIO
全双工
持续IO
Java后端求职基础学习目录
Java后端求职基础学习目录语言基础《Java核心技术》《Java编程思想》和《EffectiveJava》《深入理解Java虚拟机》《Java并发
编程实战
》数据结构和算法《数据结构和算法推荐》计算机网络
退堂鼓大师
·
2020-06-13 13:40
java
47.霓虹灯按钮动画效果的悬停
效果(源码网盘地址在最后)视频演示「前端
编程实战
47」HTML+CSS3实现霓虹灯按钮动画效果的悬停视频地址一:https://www.bilibili.com/video/BV15k4y1z7gW/视频地址二
前端小智@大迁世界
·
2020-06-12 17:46
CSS创意特效
Python零基础编程——09密码学实战篇-古典加密算法加密解密破解
内容1-凯撒加密法
编程实战
2-
FreoStudio
·
2020-06-12 09:01
Python
密码学
python
加密解密
安全
Java并发
编程实战
总结 (一)
前提首先该场景是一个酒店开房的业务。为了朋友们阅读简单,我把业务都简化了。业务:开房后会添加一条账单,添加一条房间排期记录,房间排期主要是为了房间使用的时间不冲突。如:账单A,使用房间1,使用时间段为2020-06-0112:00-2020-06-0212:00,那么还需要使用房间1开房的时间段则不能与账单A的时间段冲突。业务类为了简单起见,我把几个实体类都简化了。账单类publicclassBi
Johnson木木
·
2020-06-06 09:00
响应式
编程实战
——RxJS 重构组合事件流
今天我们来看看如何改变事件发生的频率。让我们添加两个按钮,分别代表了二分之一秒产生一个事件的事件流和四分之一秒产生一个事件的事件流。根据昨天的文章,我们可以想到用merge操作符把它们和开始按钮合并起来。consttime$=merge(startBtnClick$,halfBtnClick$,quarterBtnClick$);constsubscription=time$.pipe(switc
du1dume
·
2020-06-03 00:02
单例模式与DCL双重校验锁
今天正好学习完了《Java并发
编程实战
》,该书的最后一章讲得就是JMM(Java内存模型),其中就提到了以DCL方式实现单例模式的优缺点。单例模式单例模式的概念就不在这里赘述了。
罪与罚
·
2020-06-01 12:23
java
设计模式
单例模式
《金哥百变Python零基础教程7》~实战I
本章知识点:>
编程实战
复习一下p0总结在线看p1总结在线看p4总结在线看p5总结在线看p6总结在线看北京地铁(没错,我们想尝试解决真实的地铁问路问题)孰能生巧前面3章我们学习了函数列表字典相关知识。
金哥数据分析
·
2020-05-30 07:20
从0学习java并发
编程实战
-读书笔记-线程池的使用(8)
#在任务与执行策略之间的隐性耦合Executror框架可以将任务的提交与任务的执行解耦开。但是虽然Executor框架为制定和修改执行策略提供了很大的灵活性,但并非所有的任务都能适用所有的执行策略。有些类型的任务需要明确地制定执行策略,其中包括:依赖性任务:大多数行为正确的任务都是独立的:它们不依赖于其他任务的执行时序、执行结果或其他效果。当在线程池中执行独立任务时,可以任意修改线程池大小和配置,
伟大的卷发
·
2020-05-27 22:56
并发
线程池
java
synchronized
多线程
Java并发
编程实战
05等待-通知机制和活跃性问题
Java并发编程系列Java并发
编程实战
01并发编程的Bug源头Java并发
编程实战
02Java如何解决可见性和有序性问题Java并发
编程实战
03互斥锁解决原子性问题Java并发
编程实战
04死锁了怎么办前提在
Johnson木木
·
2020-05-20 09:00
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他