自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lyf3312的专栏

PHPer 经验心得-----常怀敬畏之心

  • 博客(44)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java 自定义对象,按指定的某些属性进行排序

利用Arrays.sort()对对象进行按某些属性排序,两种实现方式,内部比较器(comparable)和外部比较器(comparator)。

2019-10-03 11:01:15 1268

原创 Arrays.sort 实现Java基本数据类型的逆序排序

默认的Java.util包中的Arrays.sort(),可以实现对java中的基本数据类型(byte、char、short、int、long、float、double、boolean)的数组进行升序排序。但如果要实现降序排列,则需要借助比较器Comparator。注: 1.要逆序排列的数组,不能使用基本数据类型,必须使用基本类型对应的类 。2.Arrays.sort()函数,不支持B...

2019-10-03 10:00:45 10664 11

原创 Java 调用DOS命令完成任务

Java 调用DOS命令,完成特定的任务1. 核心类及函数2.测试案例import java.io.*;import java.nio.charset.Charset;/** * java 调用Dos命令 * @author lyf3312 * */public class ExecDosCommand { /** * 测试调用 * @param arg...

2019-10-03 09:36:55 244

原创 spring data Neo4j 整合

一、各组件版本     Noe4j 3.5.1     spring data Noe4j 5.1.3.RELEASE (主要包括OGM SUpport、 Spring Data Repository Support)     利用maven进行jar包管理二、整体整合流程1. 建立配置文件 javaconfig2. 配置spring context3. 创建domai...

2019-01-14 21:56:29 882

原创 计算机的cup颗数、核数、线程数

只要买过/卖过电脑,肯定听过这几个名词;1.cpu颗数:封装在集成电路(IC)中的处理器个数,  普通计算机多为单颗cup。2.cpu核数:是指物理上,也就是单颗CPU上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。3.cup支持的线程数:是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如,可以通过一个CPU核心数模拟出2线程的...

2018-04-16 20:24:33 12770 1

转载 Vm NET联网方式原理

https://www.linuxidc.com/Linux/2017-03/141864.htm

2018-03-18 17:44:51 495

原创 Fibonacci中第n个数的值求解

求解方法1. 递归法         可读性好,但效率低,时间复杂度为O(n*n) 2. 窗口滑动法        时间复杂度为O(n),public int fibonacci(int n){int a = 0;int b = 1;for (int i = 0; i < n - 1; i++) {int c = a + b;a = b;b = c;}return a;}3...

2018-02-26 16:55:19 371

原创 数字图像分类

在计算机中,按照颜色和灰度的多少可以将图像分为四种基本类型。  1. 二值图像  2. 灰度图像  3. 索引图像  4. 真彩色RGB图像1. 二值图像一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫

2017-09-23 11:48:38 7403

转载 一致性Hash算法原理

背景一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,mem

2017-09-09 10:35:45 606

原创 Ubuntu 修改用户名或密码后无法登陆 解决方法

解决方法:进入recovery-mode修改登录信息1)重启系统,进入开机画面时,选择第二项,确定,如下图选择recovery-mode启动此时选择root登录如下各行说明如下:2) 以root身份进入系统此时许多文件无法写入,需要执行如下命令mount -o rw,remount /3) 修改用户名等信息usermod -l newName

2017-09-01 16:48:05 16585 5

转载 软件架构风格

架构风格是一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。常见的软件体系结构风格涉及:设计词汇表是什么?或者构件和连接器的类型是什么?可容许的结构模式是什么?基本的计算模型是什么?风格的基本不变性是什么?其使用的常见例子是什么?使用此风格的优缺点是什么?其常见特例是什么?软件体系结构设计的

2017-06-09 17:25:12 694

原创 centos内核升级的两种方法

对于一些特殊的软件,如docker 需要linux内核3.1 之上才能很好支持,这时就需要升级内核了,而centos7默认的内核好像是  3.10.x,有些低。方法一:查看当前系统内核版本 uname -r1. 导入keyrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org2. 安装 elrep

2017-04-14 10:55:40 17117

原创 一些开源软件的国内镜像源

国内访问外网时,的确慢,那么下边就是国内同步得到的镜像,一键提升speed。开源软件系统官方源、镜像源Open Source 汇总,请注意这是一个总结,如果您自己搭建了一个小型开源镜像,这里并没有。以下列出的是包含大量不同镜像的站点。具体配置中,我建议您使用大企业的镜像。大学的镜像有的只是内部使用,而且未必速度快的像您所期待的那样。同时,我建议您使用某些加速插 件,比如RHEL

2017-04-13 19:18:42 11916

转载 CentOS设置开机自启动服务的两种方法

CentOS设置服务开机启动的两种方法收藏举报本文章已收录于:1、利用 chkconfig 来配置启动级别在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。就算手动执行 /etc/i

2017-04-08 17:23:42 25829 2

原创 Python扩展包的安装方法总结

作为一个pythoner ,包的安装时必须懂的,这个语言跟matlab很类似,开源、共享,只要你有好的方法,都可以作为一个库,供大家下载使用,毕竟俗话说:"人生苦短,请用Python吗"1.单文件模块将包拷贝到python安装目录下Lib下,eg:D:\py\Lib。2.多文件模块找到模块包(压缩文件zip或tar.gz)下载,进行解压,然后控制台中执行:python setu

2017-04-02 18:06:26 6499

转载 关于C10K问题

1 C10K问题大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在当时已经算是大型应用了。所以并不存在什么C10K的难题。互联网的爆发期应该是在www网站,浏览器,雅虎出现后。最早的互联网称之为Web1.0,互联网大部分的使用场景是下载一个Html页面,用户在浏览器中查看网页上的信息。这个时期也不存在C1

2017-03-31 20:01:48 517

原创 python中类的私有成员的 name managing

在Python中没有真正的私有化!这句话是重点,即使是私有成员,在类外部通过obj._className__attrName 也可以访问的到。况且,Python对这些以两个_,开头的成员名称进行了改变,变为_className__attrName.而这也解释了下边这个奇怪的现象。代码如下:#coding=utf-8'''继承中的name manager即:python会对私

2017-03-26 18:12:21 502

原创 python中的可哈希和不可改变性

1.可哈希(hashable)和不可改变性(immutable)如果一个对象在自己的生命周期中有一哈希值(hash value)是不可改变的,那么它就是可哈希的(hashable)的,因为这些数据结构内置了哈希值,每个可哈希的对象都内置了__hash__方法,所以可哈希的对象可以通过哈希值进行对比,也可以作为字典的键值和作为set函数的参数。所有python中所有不可改变的的对象(imutab

2017-03-20 18:27:51 15038 1

原创 PHP中的静态方法和非静态方法调用方式再解

之前对静态方法和非静态方法的理解如下,比较笼统:1. 静态方法中不能调用非静态方法2. 非静态方法的调用的方式为:$obj->methodName();今天在偶然测试时发现那样说并不准确,更正如下:1.非静态方法[方法中不含$this字眼]的调用方式有self/className::methodName()和$obj->methodName();但非静态属性是用cl

2017-03-02 17:03:36 9206

原创 php设计模式之五__适配器模式

适配器模式1.定义:将一个类的接口转换成客户希望的另外一个接口,使得原来由于接口不兼容而不能一起工作的类,可以一起工作了。通常分为类适配器和对象适配器两种。2.UML图3.代码示例:<?php//适配器模式(对象适配【组合关系】)//通用接口interface Target{ public function request();//普通请求的接口}//适配

2016-12-29 19:15:14 287

原创 php设计模式之四__观察者模式

观察者模式1.定义定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使他们能够自动更新自己。2. UML图3.代码示例:<?php/*** 观察者模式* @package design pattern*//*** 抽象主题角色*/interface Subject { /**

2016-12-28 21:42:53 305

原创 php设计模式之三__工厂模式

工厂模式:1. 特点:工厂模式其实是一种类,为您提供一些创建对象的方法,通过该工厂可以,方便的创建不同的对象,不用去new,如果需要更改创建对象的类型,直接修改该工厂类即可,很好的遵循了开闭原则及单一责任原则等。2. 分类:根据抽象程度不同,分为,简单工厂模式、工厂方法模式、抽象工厂模式。         1)简单工厂模式(静态工厂方法模式)a.类图b.

2016-12-25 21:50:59 277

原创 php设计模式之二__单例模式

单例模式(职责模式/单态模式)1. 特点:在程序中创建一个单一功能的访问点,即实例化出的对象是唯一的,常用于数据库的连接对象,windows的任务管理器,回收站,应用程序的日志,网站的计数器(实现同步)等。2. 关键要素(三私一公)1> 私有化构造函数,__clone函数,实际操作对象(eg:数据库操作对象);2>公开静态成员方法(创建类的对象)3. 类的结构图4.

2016-12-24 17:11:40 323

原创 php设计模式之一__装饰者模式

装饰者模式1. 功能动态将功能附加到对象上,对于功能的扩展,比继承更灵活,有弹性。2. 结构图3. 举例说明     场景:某咖啡厅做了一个点咖啡系统,不同口味的咖啡价格不同,但某天,做咖啡的原料,例如牛奶、糖的价格上涨了,此时,如果按照继承的方式来设计各个咖啡类,那么咖啡的价格计算就比较麻烦了,需要修改每个类的价格,然后重新计算。这种设计方式,类的数量会爆炸式增长,而

2016-12-24 15:27:08 345

原创 Josephus 问题的代码实现

java实现约瑟夫问题 求解package com.oop;public class Josephus { public Josephus() { // TODO Auto-generated constructor stub } public static void main(String[] args) { // TODO Auto-generated method

2016-11-25 22:00:46 508

原创 php的ts和nts选择

关于php的ts和nts ,你了解多少?  1. 简介ts(Thread Safety)即线程安全,多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染php以ISAPI方式加载的时候选择这个版本.,php以ISAPI方式加载的时候选择这个版本.      nts(No

2016-11-08 20:31:42 21858 1

原创 php 源码简单加密的几种方法

第一种:利用base64 + 压缩 加密。 加密函数如下:function encode_file_contents($filename) { $type=strtolower(substr(strrchr($filename,'.'),1)); if ('php' == $type && is_file($filename) && is_writable($f

2016-11-04 19:13:14 14006 1

原创 php邮件发送-phpmailer

提供两种利用phpmailer发送邮件的方法:准备:配置好163或者qq的smtp/imap服务(具体怎么配置,找度娘),phpmailer的两个类(phpmailer、smtp)(自己下载)。第一种: 网易转发header("content-type:text/html;charset=utf-8");ini_set("magic_quotes_runtime",0);ini_s

2016-09-22 22:59:52 666

转载 关于php安全的几个问题

1、SQL注入SQL注入是一种恶意攻击,用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。还有一种是通过system()或exec()命令注入的,它具有相同的SQL注入机制,但只针对shell命令。$username = $_POST['username'];$query = "select * from auth where username = '".$usernam

2016-09-08 21:30:21 453

原创 利用反射类定位php的函数定义的物理位置

当遇到一堆,过程化开发的项目,例如destoon之流,一坨一坨的函数,而且么有注释,那你就苦了,想找到一个函数定义的文件位置,除了编辑器自带的jumpto 【有时还不太准确】功能外,自己封装一个func_dump()函数,查看定义位置及函数信息也是一个不错的选择。代码:test.php文件:<?phpclass b { public function f() { }

2016-09-05 22:16:31 1630

原创 移除utf8+BOM格式的html文件头有一行空格的问题

最近在改模板时,发现页面最开头地方多了一行空白行,真是苦撒老夫,查看源码出现&#65279,这是什么鬼?? 究其原因,是文件格式的问题,保存时一不小心保存为了utf8+bom格式了,什么事bom:这种编码方式一般会在windows操作系统中出现,比如WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0x

2016-09-05 22:03:18 1691

原创 时间、日期格式化技巧

实际应用中,经常需要,2016-09-09 这种格式的字符串日期格式:转换方式:1. 在生产日期格式时,在个位数字前补零,例如一些日期的js插件。2. 在拿到数据后,后台统一处理。后台格式化处理:函数: sprintf(数据格式,数据);数据格式:%% - 返回百分比符号%b - 二进制数%c - 依照 ASCII 值的字符%d

2016-09-04 11:59:18 626

原创 JS 中的with语法现象

这是一个较少用到的语法:关于with(A){...}功能:关联对象A属性,在with代码块内部,每个变量首先被认为是一个局部变量,如果局部变量与A对象的某个属性同名,则这个局部变量会指向A对象属性。示例代码:var qs = location.search.substring(1);var hostName = location.hostname;var url = locatio

2016-08-31 23:01:42 311

原创 windows绑定应用程序快捷方式到鼠标右键

不喜欢把文件和一堆快捷方式放桌面的小伙伴,有没有想过把它们绑定到鼠标右键呢,来吧,一起看看怎么绑定。步骤如下:打开注册表,命令行输入regedit;找到绑定的位置:HKEY_CLASSES_ROOT\Directory\Background\shell;点击shell文件夹新建一个项[其实就是个文件夹],建议命名为程序的名称[英文哦],以后删的时候方便些;在刚才新建的文件夹下新建一

2016-08-27 19:43:35 1378

原创 javascript的一个简单语法,记录下来

说实话javascript的水很深,无论是当下流行的nodejs还是之前比较火的一些框架,都体现了这一点;今天偶然遇到一个基础语法,一下懵比了,这是什么用法,上代码: js 语法测试 function _show() { window.alert('点我了'); } 点击这种用法好处:事件时方便了不少,但不符合html/css/

2016-08-25 20:32:36 283

原创 php文件上传时,文件大小限制问题

在默认情况下,php.ini 中对上传文件和post方式提交的数据大小是有限制的,其中,post的最大数据是2M,而上传文件的最大是8M; 但实际情况中上传的文件远远大于8M,这时就需要修改php.ini的配置了,两种方式,第一种: 在有权修改服务器配置时,直接修改php.ini重启apache,搞定,【通常post的配置比upload大一些】第二张: 无权限操作服务器,在网站目录中添

2016-08-23 21:46:41 572

原创 php.ini 中配置项的设置

php.ini的配置项配置:第一种情况:直接在php.ini中修改,重启apache即可生效。第二种情况:无权操作服务器,使用ini_set()函数,在脚本中配置。第三种情况: 无权操作服务器,在网站目录下的.htaccess中配置。此时,就有一个指令[配置项]配置的作用域问题,PHP中的每个指令都有自己的作用域,指令只能在其作用域中修改,不是任何地方都能修改配置指令的。php

2016-08-23 21:36:34 533

原创 php中的filesize函数使用细节

问题:大家有没有遇到过,使用filesize函数计算文件大小时,报错的情况:E_WARNING 级的错误,错误类似于 file stat...;即,文件状态不正确啥的,原因:filesize函数不能计算中文字符类型[gbk编码]文件名的文件大小,或者大于2G的文件大小解决方案:在计算前用icon函数对中文字符进行转码为utf-8,大文件可以使用sprintf("%u", filesiz

2016-08-23 21:34:16 5207

原创 php中一个神奇的函数extract

看源码是遇到的一个php函数,比较神器!常用于:将 wddx_deserialize() 返回的结合数组中的内容导入到符号表变量中去。测试代码,用法如下:echo ''; $host = 'lyf3312'; $arr = [ 'host' => 'www.g.cn', 'uname' => 'root', 'pwd' =>'root', 'lyf3312@16

2016-08-19 23:31:26 3653

原创 利用php程序放大图片

等比例放大或缩小图片:[放大图片可能会引起变形]代码如下:function resizeimage($srcfile,$mySize){ $size=getimagesize($srcfile); switch($size[2]){ case 1: $src_img=imagecreatefromgif($srcfile); $output = 'imageg

2016-08-15 22:48:25 775

LayUI 实现省市县三级联动

利用开源前端框架layUI 实现省市县的三级动态联动,下载既可用

2019-03-11

spring data Neo4j 整合demo

spring data Neo4j 整合demo,基本整合案例,详细细节参考https://docs.spring.io/spring-data/neo4j/docs/5.1.3.RELEASE/reference/html

2019-01-14

destoon扩展功能

对destoon系统做的一些二次开发,和文档

2016-12-31

软件设计模拟

软件设计模式及一些资源,headfirst,敏捷开发pdf,和融合各设计模式的一些类图,java代码实现payroll,

2016-12-26

算法分析ppt

常用算法分析ppt

2016-12-26

jquery时间插件

非常好用的时间插件,时间可以设置是否精确到时分秒,

2016-09-08

百度开发云lss、vod数据统计案例

百度开放云直播、点播数据统计代码,

2016-09-08

百度开放云vod 点播API实例

百度开放云点播api实例,php的VOD api

2016-09-08

百度开放云lss实例

百度开放云直播lss 的SDK 实例,php源码。

2016-09-08

matlab,教程

matlab ppt及文档 教程,新手入门的绝佳书。

2013-08-17

查询类代码

#include"stdio.h" #include"stdlib.h" #define YEAR 23 typedef struct{ int year; char name[24]; char team[30]; char finishschool[50]; }PLAYERINF; extern void display(PLAYERINF s[],int n), search(PLAYERINF s[]); void main() { PLAYERINF s[YEAR]={{1990,"柯曼","网队","syracuse"},{1991,"约翰逊","黄蜂","Nevada-las Vegas"}, {1992,"奥尼尔","魔术","Louisiana State"},{1993,"韦伯","魔术","Michigan"},{1994,"罗宾逊","雄鹿","Purdue"}, {1995,"史密斯","勇士","Maryland"},{1996,"艾弗森","76人","Georgetown"},{1997,"邓肯","马刺","Wake Forest"}, {1998,"欧罗伍坎迪","快艇","Brunel"},{1999,"布兰德","公牛","Duke"},{2000,"马丁","网队","Cincinnati"}, {2001,"夸梅-布朗","奇才","Glynn Academy"},{2002,"姚明","火箭","Shanghai"},{2003,"勒布朗-詹姆斯","骑士","St.Mary's HS"}, {2004,"德怀特-霍华德","魔术","Christian Academy"},{2005,"安德鲁-博格特","猛龙","Utah"},{2006,"安德烈-巴格纳尼","欧洲","不详"}, {2007,"格雷格-奥登","开拓者","Ohio State"},{2008,"德里克-罗斯","公牛","Memphis"},{2009,"格里芬","快船","Oklahoma"}, {2010,"约翰-沃尔","奇才","Country"},{2011,"凯瑞-欧文","骑士","Dunk Country"},{2012,"安东尼","黄蜂","肯塔基大学"}}; int ch; printf("\t\t\t\t功能菜单\n"); printf("===========================================================================\n"); printf("1.显示历届状元秀名单\n"); printf("2.按年份查找状元秀信息\n"); printf("0.退出\n"); scanf("%d",&ch); while(ch!=0) { switch(ch) { case 1: display(s,YEAR);break; case 2: search(s);break; default: printf("您输入错误,请重新输入!\n");break; } system("pause"); system("cls"); printf("功能菜单\n"); printf("================================================================================\n"); printf("1.显示历届状元秀名单\n"); printf("2.按年份查找状元秀信息\n"); printf("0.退出\n"); scanf("%d",&ch); } } void search(PLAYREINF s[]) { int k,number=0; PLAYREINT s1[1]; printf("请输入年份:\n"); scanf("%d",&number); for(k=0;k<YEAR;k++) { s1[0]=s[k]; display(s1,1) break; } if(k>YEAR) printf("您输入的年份有误,请重新输入一个在1990到2012之间的年份"); void display(PLAYERINF s[],int n) { int k; printf("=======================================历届状元秀名单=====================================\n"); printf("年份 姓名 所在球队 毕业学校\n"); printf("-------------------------------------------------------------------------------------------\n"); for(k=0;k<n;k++) { printf("%4d\t%-10s\ts\ts\n",s[k].year,s[k].name,s[k].team,s[k].finishschool); printf("=============================================================================\n"); } }

2013-05-09

不等式求解

关于c语言中不等式求解代#include"stdio.h" #include"math.h" main() { double a,b,c,d; double x1,x2; printf("请将不等式化为一般形式ax^2+bx+c>0后,依次输入a b c:\n"); scanf(" ",&a,&b,&c); if(a==0) printf("不等式形式非法,a不能为0\n"); if(a>0) { d=b*b-4*a*c; if(d>0) { x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); printf("原不等式的解集为:{x|x<%.2f,或x>%.2f}\n",x1<x2?x1:x2,x1>x2,x1:x2); } if(d==0) { x1=(-b+sqrt(d))/(2*a); printf("原不等式的解集为:{x|x!=%.2f}\n",x1); } if(d<0) printf("原不等式的解集为R\n"); } if(a<0) { d=b*b-4*a*c; if(d>0) { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("原不等式的解集为:{x|%.2f<x<%.2f\n",x1<x2?x1:x2,x1>x2?x1:x2); } if(d<=0) printf("原不等式的解集为空集\n"); } }码

2013-04-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除