LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue、TransferQueue、SynchronousQueue

1.LinkedBlockingQueue/***使用阻塞同步队列LinkedBlockingQueue完成生产者消费者模式*使用场景较多。*/publicclassT05_LinkedBlockingQueue{publicstaticvoidmain(String[]args){BlockingQueue<String>queue=newLinkedBlockingQueue<>();//启动生产者线程生产newThread(()->{for(intj=0;j<100;j++){try{            //若果容器满了,它会在这里等待,容器有空余了在插入数据queue.put("aaa"+j);//put方法,给容器添加元素,如果容器已经满了,则会阻塞等待}catch(InterruptedExceptione){e.printStackTrace();}}},"p").start();try{TimeUnit.SECONDS.sleep(1);}catch(InterruptedExceptione){e.printStackTrace...

JDK1.8新属性lambda

List<ProductInfo>productInfoList=productService.findUpAll();//精简方法(java8,lambda)List<Integer>categoryTypeList=productInfoList.stream().map(e->e.getCategoryType()).collect(Collectors.toList());List<ProductCategory>productCategoryList=categoryService.findByCategoryTypeIn(categoryTypeList);//传统方法//for(ProductInfoproductInfo:productInfoList){//categoryTypeList.add(productInfo.getCategoryType());//} 还可以这么写List<CartDTO>cartDTOList=orderDTO.getOrderDetailList().stream()....

python lambda表达式

ambda只是一个表达式,函数体比def简单很多,很多时候定义def,然后写一个函数太麻烦,这时候就可以用lambda定义一个匿名函数。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。例如:使用lambda表达式定义了一个匿名函数,用于筛选100以内的3的倍数,并生成一个列表。1list(filter(lambdax:Trueifx%3==0elseFalse,range(100)))lambda也可以嵌套在一个函数内使用,如下,函数中嵌套了一个lambda表达式。1defmake_repeat(n):2returnlambdas:s*n ...
代码星球 代码星球·2020-04-02

angular.js表单验证

常用的表单验证指令 1.必填项验证某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可:<inputtype="text"required/>2.最小长度验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng="{number}":<inputtype="text"ng-minlength="5"/>3.最大长度验证表单输入的文本长度是否小于或等于某个最大值,在输入字段上使用指令ng-maxlength="{number}":<inputtype="text"ng-maxlength="20"/>4.模式匹配使用ng-pattern="/PATTERN/"来确保输入能够匹配指定的正则表达式:<inputtype="text"ng-pattern="/[a-zA-Z]/"/>5.电子邮件验证输入内容是否是电子邮件,只要像下面这样将input的类型设置为email即可:<inputtype="email"name="email"ng-model="user.email"...
代码星球 代码星球·2020-04-02

layer弹出框的用法

页面中引入 layer.js就行了1、弹出一个提示信息;layer.msg("我是哦提示信息");2、弹出一个带选择的按钮的框layer.open({title:'删除',content:'您确定要删除此游客信息吗?',yes:function(index,layero){vartrackerType=$(_this).parents("tr").find(".tracker_type").val();defultNum(trackerType);$(_this).parents("tr").remove();layer.close(index);}}); layer.close(index);//关闭当前的弹出框 3、弹出一个自定义html内容的弹层layer.open({type:1//Page层类型,area:['500px','300px'],title:'你好,layer。',shade:0.6//遮罩透明度,maxmin:true//允许全屏最小化,anim:1//0-6的动画形式,-1不开启,content:'<div>这是一个非...
代码星球 代码星球·2020-04-02

CentOS 下安装Mplayer播放器(转载)

需要的安装包及下载地址:1、mplayer源代码包(MPlayer-1.0rc4.tar.bz2)下载:http://www.mplayerhq.hu/MPlayer/releases/2、解码器安装包(all-20110131.tar.bz2)下载:http://www.mplayerhq.hu/MPlayer/releases/codecs/3、win32解码器安装包(windows-all-20071007.zip)下载:http://www.mplayerhq.hu/MPlayer/releases/codecs/4、皮肤安装包(Blue-1.8.tar.bz2)下载:http://www.mplayerhq.hu/MPlayer/skins/     mplayer的编码包默认应安装在/usr/local/lib/codecs/中,win32编码默认安装在/usr/local/lib/win32,如果装在了其他目录,在装MPlayer时,./configure的参数要指明路径,参数是--codecsdir=“包的路...

微信小程序template使用

当您的项目需要多次使用同一个布局和样式的时候,您就可以考虑使用template(模板)来减少冗余代码。使用方式:1.新建一个template文件夹来存放您的通用模板;2.在文件夹里面新建一个wxml,wxss,进行模板和样式的定义; 3.设置模板的name,以及里面您需要定义的wxml内容;4.设置wxss样式; 5.在需要使用的页面使用import导入该wxml页面,注意路径位置; 6.在需要使用的wxss文件导入该wxss;7.在页面上使用该模板,通过is判断使用哪个模板,这里我们使用name为courseStudent模板(此处使用的是列表循环,所以data值为item);  若将data使用ES6展开运算符‘...’,则模板里面绑定数据就不需要在前面加入item了<!--使用ES6展开运算符--><templateis="courseStudent"data="{{...item}}"></template><templatename="courseStudent...

腾讯模板引擎template

template.js是一款JavaScript模板引擎,用来渲染页面的。原理:提前将Html代码放进编写模板 scriptid="tpl"type="text/html"></script>中,当需要渲染页面时,在js里这样调用:vartpl=document.getElementById('tpl').innerHTML;template(tpl,data});1、腾讯模板引擎基本用法。html里面<divid="wp"></div><scriptid="tpl"type="text/html"><ul>{{eachlistasvaluei}}<li>索引{{i+1}}:{{value}}</li>{{/each}}    </ul></script>js里面<script>vardata={items:[{'name':'名字一','val':'数据一'},{'name':'名字二','val':'数据二'},{'name':'名字三','val...

Laravel教程 七:表单验证 Validation

此文章为原创文章,未经同意,禁止转载。LaravelForm终于要更新这个Laravel系列教程的第七篇了,期间去写了一点其他的东西。就不说废话了吧,直接进入FormValidation的部分吧。几乎在每一个web应用当中都会有表单,而有表单基本就离不开表单验证。在laravel中,其实可以说是有两种方式来进行表单验证:使用Request和使用Validation。下面将分开讲这两部分的内容,而且我会更着重第一种,也更推荐大家使用第一种为什么说是会把精力都放在讲解第一种验证方式呢?因为个人觉得第一种方式在相同的验证条件下,更加易于维护和可以进行代码重用。而且写代码的形式更适用于Laravel和我个人的使用习惯:可以使用命令行来生成代码。也就是可以使用artisan这个工具:phpartisanmake:requestStoreArticleRequest在项目目录下使用artisan的make:request命令就可以生成一个用于表单验证Request类了,这个类我们在这里命名为StoreArticleRequest,你也可以以你自己喜欢的方式来命名,但我还是推荐大家在命名的时候尽量使...

Laravel教程 八:queryScope 和 setAttribute

此文章为原创文章,未经同意,禁止转载。LaravelEloquentDatabase直接就是按照上一节所说的那样,我们来说说queryScope和setAttribute在laravel的用法。这里我首先是想向大家简单说说这两个知识点得应用场景是什么,我们在开发的时候,总是希望有一种偷懒的方式,所以考虑以下这两个场景:数据在存入数据库的时候需要进行预先处理,比如考虑一个简单地例子:我们在保存用户的登录密码的时候,都是需要将密码用某种方式加密过后在写入数据库的,我们难道在每一次在提交表单过来之后都对传过来的数据进行一次数据加密么?能不能有一种自动完成对密码入库前就加密的机制呢?这样我们在处理表单的时候就不用关心密码加密的问题了想一想我们在向用户展示的数据是不是基本上都是从数据库取的呢?那么往往我们会有很多的查询语句,在这样的情况之下很多的查询语句可以就会重复,但是在写代码这一行中,一旦出现多个重复,基本上就会有优化方式存在,所以这个时候queryScope就派上用场了之前,我们都是将published_at设置为文章创建的日期:$input['published_at']=Carbon:...

Laravel教程 六:表单 Forms

此文章为原创文章,未经同意,禁止转载。Formlaravel5.2之后请使用laravelcollective/html替换illuminate/html.出现问题先看评论。在开始之前,我们把界面先美化一点点先:首先到https://github.com/JellyBool/blog-css-js得到静态文件,然后分别修改下面三个文件:1.app.blade.php2.articles/index.blade.php3.articles/show.blade.php下面的视图代码的修改部分,如果你偷懒,你可以使用ctrl+c大法。在app.blade.php中:将原来@yield('content')的代码替换成下面的代码:<body><divclass="container"><sectionclass="content"><divclass="padgroup">@yield('content')</div></section></div></body>就是在外面多加了个div和一个se...
代码星球 代码星球·2020-04-02

Laravel教程 四:数据库和Eloquent

此文章为原创文章,未经同意,禁止转载。EloquentDatabase上一篇写了一些LaravelBlade的基本用法和给视图传递变量的几种方式,这一节我们来说说跟数据库打交道的数据库配置和Laravel强大的Eloquent。本部分内容为下节做准备Laravel的配置文件都是在项目目录的config/文件夹之下,这里也就是在blog/config文件夹之下,你可以打开这个文件夹看看,你面有很多配置文件:如mail.php(配置邮件发送服务的)和database.php(配置数据库的),我们这里就是来看看这个database.php配置文件:'connections'=>['mysql'=>['driver'=>'mysql','host'=>env('DB_HOST','localhost'),'database'=>env('DB_DATABASE','forge'),'username'=>env('DB_USERNAME','forge'),'password'=>env('DB_PASSWORD',''),'charset'=>...

Laravel教程 五:MVC的基本流程

此文章为原创文章,未经同意,禁止转载。Controller期间受到很多私事影响,终于还是要好好写写laravel的教程了。上一篇我们说了数据库Eloquent的基本用法,如计划一样,这一篇文章我们说说Laravel中Model,Controller,Views的工作流程,也就是下面这个顺序:1.注册路由--->2.创建控制器--->3.控制器中获取数据库数据--->4.在视图中展示数据英文的表达可能会更加贴切一点:1.registerroutes--->2.makeacontroller--->3.fetchdatafromdatabase--->4.loadaviewtodisplaydata在laravel中,最常见的流程就是这个样子的,我们在实现某个功能的时候,通常就是走上面的这个流程。比如我们这个blog项目中,我们需要实现下面的功能:1.展示所有的文章//blog首页2.展示一篇文章//文章详情页3.创建一篇文章//文章发布页面4.修改一篇文章//文章修改页面5.删除一篇文章//后台管理在这一篇文章中,我们集中精力解决一下第一个功能,所以...

Laravel教程 三:视图变量传递和Blade

此文章为原创文章,未经同意,禁止转载。Blade上一篇我们简单地说了Router,Views和Controllers的工作流程,这一次我就按照上一篇的计划,来说说下面几个内容:向视图中传递变量Blade模板的用法我们在开发web应用当中,通常都不是为了写静态页面而生的,我们需要跟数据打交道,那么这个时候,问题就来了,在一个MVC的框架中,怎么将数据传给视图呢?比如我们要在 ArticleController 的 index方法的视图输出一个 $title 的变量,在Laravel中,有下面几种常见的方法:使用with()方法publicfunctionindex(){$title='文章标题1';returnview('articles.lists')->with('title',$title);}这样的 with('title',$title) 中,第一个 'title' 就是key,第二个 $title 就是值,这样我们就可以在我们的 articles/li...

Laravel教程 一:安装及环境配置

此文章为原创文章,未经同意,禁止转载。Homestead最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算有机会录视频教程放出来的,不过这个计划貌似由于某些原因必须得推迟一段时间,所以现在先把文章的系列教程写出来吧。首先需要说明的是,这个教程对于完全没有上手Laravel的人来说,我尽量将一些概念和重点说清楚,不过你也不需要担心这需要花很多时间来跟着这个教程学习Laravel,我相信,如果你认认真真跟着教程将代码敲过一遍,相信你对Laravel会有一个清晰的认识。开始之前:这个教程打算是每天一篇,首先是会涵盖很多Laravel的基础知识。然后我还打算出教程说说Laravel的Eloquent和它的一些棒的特性比如ScheduleCommand等,至于是博客的形式还是录视频的形式,后面看情况吧,所以现在是开始我们的Laravel教程了。这一节的内容:我首先会说明怎么安装Laravel说说Homestead这个开发环境本系列教材基于Laravel5.1稳定版恩,像几乎所有框架的开始一样,我们需要知道怎么安装Laravel。这里首推的是使用Com...
首页上一页...402403404405406...下一页尾页