- ThinkPHP中使用MongoDB的union操作
原野-
php查看mongo集合的索引
MongoDB的union操作是什么。Union类似于SQL中的UNIONALL,可以将多个查询结果合并,并去除重复文档;使用ThinkPHP5或更高版本,通常会通过MongoDB的驱动或者第三方库来操作。不过,标准的MongoDB驱动可能不直接支持union操作,所以需要构造多个查询,分别执行然后合并结果检查MongoDB版本:确保使用的MongoDB版本支持union操作(MongoDB3.6
- THINKPHP5获取当前页面URL信息
向宇it
#thinkphpthinkphp域名
想要获取当前页面的url信息,可以借助thinkphp自带的request类来获取当前的url信息使用\think\Request类$request=Request::instance();或者使用自带的助手函数$request=request();$request=Request::instance();//获取当前域名echo'domain:'.$request->domain().'';//
- UNIAPP前端配合thinkphp5后端通过高德API获取当前城市天气预报
知码客
Uniappuni-app前端小程序知码客vue.js
如何通过UniApp前端项目与ThinkPHP5后端结合高德天气API获取天气预报信息。我们将分为前端和后端两部分进行实现。以下是一个完整的代码.一、项目结构project/├──frontend/(UniApp项目)│├──pages/││└──weather/││├──index.vue├──backend/(ThinkPHP5项目)│├──application/││├──controlle
- thinkphp5.1使用redis并使用
❀想容
thinkphp5PHP
创建一个redis类'172.21.20.13',//'port'=>'6379',//'timeout'=>'0',//'retry'=>'0',//'readTimeout'=>'0',//'auth'=>'ZJ1X8fZRuQndScDF7rTW'//);private$redis=array('host'=>'127.0.0.1','port'=>'6379','timeout'=>'0'
- thinkphp5.0配置Redis
denglansui3484
数据库php
官方文档就缓存的配置如下:$options=[//缓存类型为File'type'=>'File',//缓存有效期为永久有效'expire'=>0,//缓存前缀'prefix'=>'think',//指定缓存目录'path'=>APP_PATH.'runtime/cache/',];Cache::connect($options);看着让人不明所以,也不知道在哪配置,经过研究,应在applicati
- ThinkPHP接入PayPal支付
ETO_冬
thinkphpPayPal
ThinkPHP5接入PayPal支付,PayPal的流程是服务器请求Paypal的接口下单(需要传订单id/支付成功的重定向地址/支付失败的重定向地址),接会返回一个支付地址,项目服务器把地址返给用户,用户打开链接登录Paypal完成付款,然后Paypal给重定向到指定地址。在paypal官网开通商户号,设置通知地址。开通沙箱模式用于测试,后台会给沙箱模式生成商户账号和用户账号,请注意区分。申请
- ThinkPHP5_基础笔记
Delong-Zhang
PHPPHPThinkPHP
ThinkPHP5_云知梦_基础第1章TP5.0安装1、TP5.0系列课程2、PHP框架?3、ThinkPHP框架4、检测TP5.0环境5、TP5.0的安装6、配置虚拟主机7、目录结构8、URL地址了解9、了解TP开发模式10、MVC模式11、MVC在TP中如何体现12、MVC的变形第2章TP5.0架构1、TP架构的概述2、URL解析3、入口文件4、应用5、模块(以前台为例)6、控制器7、操作(方
- PHP代码审计学习02
玄客)
学习
目录代码审计一般思路Beescms代码审计(upload)Finecms基于前台MVC任意文件上传挖掘思路CLTPHP基于thinkphp5框架的文件上传挖掘思路今天来看PHP有框架MVC类,文件上传,断点调试挖掘。同样还是有关键字搜索和功能点抓包两种方法来找到文件和代码段,最后进行分析。经过这两天的代码审计学习,有了一些认识,那就是渗透测试相当于是黑盒测试,而代码审计相当于是白盒测试,代码审计会
- thinkphp5使用easywechat集成微信扫码支付
骑猪行钢线
后端语言
微信扫码支付用起来还是很方便的,如果使用微信支付官方的sdk开发也是可以的,不过还是选择了easywechat,主要还是因为easywechat集成了各种功能,基本上和微信相关的接口都做了比较不错的封装,因为要同时使用很多功能,索性微信扫码支付也一并用easywechat做了,而且不得不说使用方法是十分的简单,不多说了直接上步骤:1,使用composer在thinkphp5项目的根目录安装easy
- 基于ThinkPHP5的旧衣回收小程序——二手交换废物系统的设计与实现
IT实战课堂—x小凡同学
Java毕业设计项目小程序
摘要:随着社会的快速发展和人们生活水平的提高,旧衣物数量迅速增加,传统的旧衣处理方式已难以满足现代社会的需求。为了有效减少资源浪费,提高旧衣物的利用率,本文基于ThinkPHP5框架设计并实现了一款旧衣回收小程序——二手交换废物系统。该系统通过线上平台,实现旧衣物的回收、分类、展示、交换等功能,为用户提供了一种便捷、环保的旧衣处理方式。本文将从系统需求分析、系统设计、系统实现、系统测试与评估等方面
- thinkphp5支持php,如何让swoole完美支持ThinkPHP5呢
坎布里奇大脸猫
thinkphp5支持php
视频教程推荐TP5与workerman实战在线客服首先开启swoole的http服务开启swoole的http服务并设置提供给url访问页面的文件的根目录,代码如下。这样在浏览器只能访问…static下面的文件,而无法访问其他目录下的文件。http.serverset(['enable_static_handler'=>true,'document_root'=>"/usr/local/openr
- ThinkPHP5.1学习--ThinkPHP5.1 入门开启
Cure The World
PHPThinkPHPphpthinkphp后端
一.框架简介ThinkPHP5.1是目前框架正式版的最新版本;ThinkPHP6.0目前是预览版(尚未稳定的测试版),正式版后考虑制作;TP框架是免费开源的、轻量级的、简单快速且敏捷的PHP框架;你可以免费使用TP框架,甚至可以将你的项目商用;ThinkPHP5.1要求PHP版本是5.6+以上(目前最新版本是7.x);我们采用最新7.x来运行TP5.1,而预览版TP6需要7.1+;集成环境这里采用
- thinkphp5解决在apache中重写规则不生效的问题[No input file specified.]
背书包的甜瓜
thinkphp5
在public目录下面,找到.htaccess文件,修改最后一行RewriteRule^(.*)$index.php/$1[QSA,PT,L]在index.php后面加?号,保存,重启Apache即可源文件Options+FollowSymlinks-MultiviewsRewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQ
- thinkphp报错No input file specified. (对于隐藏url中的index.php 是如何做到的?)
S_Yes
PHPthispanidtransmarkspanidtransmarksty
thinkphp51.去除httpd.conf文件中"#LoadModulerewrite_modulemodules/mod_rewrite.so"前面的"#"号;2.修改httpd.conf文件中的AllowOverrideNone为AllowOverrideAll,目的是支持.htaccess文件;##AllowOverridecontrolswhatdirectivesmaybeplace
- ThinkPHP5 将session保存到 mysql
_不能说的秘密i
参考我只是个搬运工,一个探路者,这个不是我写的,原作者在这里为什么有这样的需求?...鬼知道为什么不存memcache或者redis,鬼知道你会遇到什么样的需求,那还能怎么办,自己解决呗,为了避免下次再一顿百度..一顿谷歌...我就记录一下建立对应的数据表CREATETABLEthink_session(session_idvarchar(255)NOTNULL,session_expireint
- php 兼容 手机 pc,在thinkPHP5框架下实现手机和PC端浏览器的切换
愤怒的不死鸟
php兼容手机pc
在自己做的实习项目中我对手机和PC端浏览器的切换有了一点求知欲,通过项目代码和网上的讲解,整理代码如下:1.把下面的代码放在application\common.php公共方法那里。functionisMobile(){//如果有HTTP_X_WAP_PROFILE则一定是移动设备if(isset($_SERVER['HTTP_X_WAP_PROFILE']))returntrue;//如果via
- vscode+JS-CSS-HTML Formatter 坑了thinkphp5
smartcoach
随手使用小记web前端技术
遇到一个垃圾问题,因为用的是vscode同时安装了JS-CSS-HTMLFormatter插件来格式化html、css、js。基本没去管过配置,用的就是默认的。今天在处理一个thinkphp5的项目时候遇到一个问题{includefile="common/footer"/}引用公共的底部组件,但奇怪的事出现了,include无效,直接在页面上显示出来了字符串!直接说结果,就是JS-CSS-HTML
- thinkphp5.0提示不支持redis,not support: redis
Hero.Lin
redis数据库缓存
安装PHP扩展例如宝塔,其他环境请用命令行,安装redis配置完成以后,修改php.ini把redis扩展打开即可,重启环境
- 52
whIteKi
今天继续封装android,然后看了一会thinkphp5把依赖注入,中间件,路由又看了一遍,又进一步理解了,想辞职……又要拖一天
- thinkphp5 cookie的用法
周行知
方法与session的配置与用法差不多publicfunctionc1(){//设置Cookie有效期为3600秒Cookie::set('user_name','TPshop团队',3600);echoCookie::get('user_name');//也支持使用Cookie类直接读取}publicfunctionc2(){//设置Cookie有效期为3600秒//设置cookie前缀为thi
- 草莓CDMS原创内容分销系统,微信小说平台系统,附带系统搭建教程,搭建手册
行动之上
源码免费下载bootstrap前端html
草莓原创内容分销系统(草莓CDMS)——您的一站式内容分销解决方案引领内容分销新潮流,草莓原创内容分销系统(简称草莓CDMS)以强大的技术支持和灵活的业务模式,为原创内容的传播和商业变现提供了前所未有的便捷。基于ThinkPHP5.1、Easywechat4.0、Swoole和Redis等尖端技术,草莓CDMS确保了系统的稳定性、高效性和可扩展性。其中,Swoole和Redis的智能推送模块使得内
- thinkphp5 使用redis
猿来似小周
thingphpredis数据库缓存
本文是在本地小皮配置的1.查看该项目是否有安装redis扩展在index.php入口文件运行项目后出现以前界面如果没有安装该扩展的话是不会出现redis相关信息的以下是在小皮面子安装redis,及给该项目安装redis扩展在小皮面板找到redis软件安装包,安装redis到本地在小皮面板网站选项,找到需要安装redis的网站,然后点击管理,勾选以下选项即可然后重启小皮2、在项目中引入usethin
- ThinkPHP5.1使用Redis
TonyPaPa
后台开发phpPHPThinkPHPRedis
安装phpredis扩展可以参考另一篇博客这里将两种方式1.usethink\Facade\Cache;使用这种方式需要修改app\config\cache.php最后的效果port,expire根据自己实际情况修改,这里只是作为例子写一个方法注意use的是think\Facade\Cache,如果usethink\Cache,会提示Cache没有静态方法storestore里写的缓存类型,我们看
- ThinkPHP5使用Redis
Echo_wan
thinkphp5.0redis使用安装redis扩展redis使用过程出现的问题
1.ThinkPHP框架本身存在Redis类2.在控制器中,引入redis类,usethink\cache\driver\Redis,实例化redis类3.发现报错,是因为ThinkPHP5没有添加redis扩展4.在localhost:8080中,找到phpinfo();(当然,也可以直接:http://localhost:8080/?phpinfo=-1)5.查找redis,如图,存在则说明有
- ThinkPHP5中使用redis
愿做七秒鱼
phpredisredis队列列表
文章目录配置redis使用string(字符串)Hash(哈希)List(列表)Set(集合)zset(有序集合)前提:因为本文主要围绕着在thinkPHP5中使用redis的,所以关于redis的安装就不特意说明了,不过在这稍微提醒一下,安装完redis后务必要开启php.ini扩展,否则还是无法使用redis的。配置会用ThinkPHP5的同学们都知道,TinkPHP5中封装了缓存类,我们只需
- Thinkphp5.0.23远程代码执行漏洞复现
大象只为你
跟我学网安知识命令执行网络安全漏洞复现
★★免责声明★★文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。1、漏洞介绍使用Thinkphp5.x远程代码执行漏洞,无需登录即可执行任意命令,获取服务器最高权限。漏洞影响范围:5.x">info.php提交后访问:http://192.168.242.4:8080/info.php,发现解析成
- 【PHP】TP5.0模型关联搜索查询
zzoood
phpTP5phpsql数据库
在ThinkPHP5.0中,模型关联为我们提供了一种便捷的方式来操作数据库,尤其是在进行关联查询时。本文将介绍如何在TP5.0中使用模型关联进行搜索查询,并解决可能出现的报错问题。一、模型方法在TP5.0中,模型方法是实现关联的关键。以下是一个示例,展示了如何关联到user表:/***关联user表*/publicfunctionuser(){return$this->belongsTo(User
- thinkphp mysql cache_thinkPHP5框架数据库连贯操作之cache()用法分析
星光心理工作室
thinkphpmysqlcache
本文实例讲述了thinkPHP5框架数据库连贯操作之cache()用法。分享给大家供大家参考,具体如下:介绍TP5中自带的缓存系统,是File型缓存。也就是文件型缓存。存储地址是:根目录..untimecache(根目录指public)。这个缓存系统相较于redis,memcached肯定有局限性的,自动更新以及缓存数据的复杂程度上有区别。但是对于一些简单的查询等还有很有帮助的。比如文章等这些内容
- thinkphp mysql cache_TP5之Cache的原理及使用 - thinkphp5.0
weixin_39611546
thinkphpmysqlcache
使用TP5做为项目后台接口,在二级目录下配置nginx1、首先,你要确保在不配置二级目录的情况下,可以通过浏览器访问到。例如:http://www.example.com/End/public/index.php?s=index/index/index2、将下面一location进行二...在当今大流量的互联网之中,Cache的重要性不言而喻。ThinkPhp5作为国内主流框架,提供了强大的Cac
- thinkphp mysql cache_thinkPHP5框架数据库cache()用法
马老鼠的狗鸭子
thinkphpmysqlcache
本文主要介绍了thinkPHP5框架数据库连贯操作之cache()用法,结合实例形式分析了thinkPHP5中缓存cache的应用场景及连贯操作中cache的设置、更新、删除等操作技巧,需要的朋友可以参考下,希望能帮助到大家。介绍TP5中自带的缓存系统,是File型缓存。也就是文件型缓存。存储地址是:根目录\..\runtime\cache(根目录指public)。这个缓存系统相较于redis,m
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户