@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响;
1.@Order的注解源码解读
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})
@Documented
public @interface Order {
/**
* 默认是最低优先级,值越小优先级越高
*/
int value() default Ordered.LOWEST_PRECEDENCE;
}
注解可以作用在类(接口、枚举)、方法、字段声明(包括枚举常量);
注解有一个int类型的参数,可以不传,默认是最低优先级;
通过常量类的值我们可以推测参数值越小优先级越高;
2.Ordered接口类
package org.springframework.core;
public interface Ordered {
int HIGHEST_PRECEDENCE = -2147483648;
int LOWEST_PRECEDENCE = 2147483647;
int getOrder();
}
3.创建BlackPersion、YellowPersion类,这两个类都实现CommandLineRunner
实现CommandLineRunner接口的类会在Spring IOC容器加载完毕后执行,适合预加载类及其它资源;也可以使用ApplicationRunner,使用方法及效果是一样的
package com.yaomy.common.order;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* @Description: Description
* @ProjectName: spring-parent
* @Version: 1.0
*/
@Component
@Order(1)
public class BlackPersion implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("----BlackPersion----");
}
}
package com.yaomy.common.order;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* @Description: Description
* @ProjectName: spring-parent
* @Version: 1.0
*/
@Component
@Order(0)
public class YellowPersion implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("----YellowPersion----");
}
}
4.启动应用程序打印出结果
----YellowPersion----
----BlackPersion----
我们可以通过调整@Order的值来调整类执行顺序的优先级,即执行的先后;当然也可以将@Order注解更换为Ordered接口,效果是一样的
5.到这里可能会疑惑IOC容器是如何根据优先级值来先后执行程序的,那接下来看容器是如何加载component的
@SpringBootApplication
public class CommonBootStrap {
public static void main(String[] args) {
SpringApplication.run(CommonBootStrap.class, args);
}
}
这个不用过多的解释,进入run方法…
public ConfigurableApplicationContext run(String... args) {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
ConfigurableApplicationContext context = null;
Collection exceptionReporters = new ArrayList();
this.configureHeadlessProperty();
SpringApplicationRunListeners listeners = this.getRunListeners(args);
listeners.starting();
Collection exceptionReporters;
try {
ApplicationArguments applicationArguments = new DefaultApplicationArguments(args);
ConfigurableEnvironment environment = this.prepareEnvironment(listeners, applicationArguments);
this.configureIgnoreBeanInfo(environment);
Banner printedBanner = this.printBanner(environment);
context = this.createApplicationContext();
exceptionReporters = this.getSpringFactoriesInstances(SpringBootExceptionReporter.class, new Class[]{ConfigurableApplicationContext.class}, context);
this.prepareContext(context, environment, listeners, applicationArguments, printedBanner);
this.refreshContext(context);
this.afterRefresh(context, applicationArguments);
stopWatch.stop();
if (this.logStartupInfo) {
(new StartupInfoLogger(this.mainApplicationClass)).logStarted(this.getApplicationLog(), stopWatch);
}
listeners.started(context);
//这里是重点,调用具体的执行方法
this.callRunners(context, applicationArguments);
} catch (Throwable var10) {
this.handleRunFailure(context, var10, exceptionReporters, listeners);
throw new IllegalStateException(var10);
}
try {
listeners.running(context);
return context;
} catch (Throwable var9) {
this.handleRunFailure(context, var9, exceptionReporters, (SpringApplicationRunListeners)null);
throw new IllegalStateException(var9);
}
}
private void callRunners(ApplicationContext context, ApplicationArguments args) {
List runners = new ArrayList();
runners.addAll(context.getBeansOfType(ApplicationRunner.class).values());
runners.addAll(context.getBeansOfType(CommandLineRunner.class).values());
//重点来了,按照定义的优先级顺序排序
AnnotationAwareOrderComparator.sort(runners);
Iterator var4 = (new LinkedHashSet(runners)).iterator();
//循环调用具体方法
while(var4.hasNext()) {
Object runner = var4.next();
if (runner instanceof ApplicationRunner) {
this.callRunner((ApplicationRunner)runner, args);
}
if (runner instanceof CommandLineRunner) {
this.callRunner((CommandLineRunner)runner, args);
}
}
}
private void callRunner(ApplicationRunner runner, ApplicationArguments args) {
try {
//执行方法
runner.run(args);
} catch (Exception var4) {
throw new IllegalStateException("Failed to execute ApplicationRunner", var4);
}
}
private void callRunner(CommandLineRunner runner, ApplicationArguments args) {
try {
//执行方法
runner.run(args.getSourceArgs());
} catch (Exception var4) {
throw new IllegalStateException("Failed to execute CommandLineRunner", var4);
}
}
到这里优先级类的示例及其执行原理都分析完毕;不过还是要强调下@Order、Ordered不影响类的加载顺序而是影响Bean加载如IOC容器之后执行的顺序(优先级);
个人理解是加载代码的底层要支持优先级执行程序,否则即使配置上Ordered、@Order也是不起任何作用的, 个人的力量总是很微小的,欢迎大家来讨论,一起努力成长!!
6、@Mapper注解: 作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类 添加位置:接口类上面
@Mapper
public interface UserDAO {
//代码
}
如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan
7、@MapperScan 作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类 添加位置:是在Springboot启动类上面添加,
@SpringBootApplication
@MapperScan("com.winter.dao")
public class SpringbootMybatisDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisDemoApplication.class, args);
}
}
添加@MapperScan(“com.winter.dao”)注解以后,com.winter.dao包下面的接口类,在编译之后都会生成相应的实现类
你可能感兴趣的:(Java,spring,java,后端)
java常见类库
MESSIR22
java java
StringBuffer类String和StringBuffer的区别String不可变性:String类是不可变的,这意味着一旦创建了一个String对象,其值就不能改变。每次对String进行修改(如连接、替换等操作)都会产生新的String对象,原来的对象不会被改变。线程安全性:由于String的不可变性,它是线程安全的,可以被多个线程共享而无需担心数据一致性的问题。性能:因为每次修改都会创
java基础
MESSIR22
java java 开发语言
java文件结构快速了解Java文件的基本结构一个简单的Java文件通常包含以下几个部分:包声明:每个Java源文件都属于某个包。包的作用类似于文件夹,用于组织和分类相关的类。示例:packagecom.example;导入语句:导入语句用于引入其他包中的类或接口,这样可以在当前文件中直接使用这些类或接口。示例:importjava.util.ArrayList;类声明:类是Java程序的基本构建
如何在Java中设计高效的Transformer模型架构
省赚客app开发者
java transformer 架构
如何在Java中设计高效的Transformer模型架构大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Transformer模型自从2017年提出以来,凭借其出色的性能和灵活性,在自然语言处理(NLP)和其他领域取得了显著的成功。Transformer的核心在于其自注意力机制和位置编码,它使得模型能够处理长距离依赖,并有效地进行序列到序列的转换。本文将介绍如何在Ja
Java NIO与传统IO性能对比分析
向哆哆
Java入门到精通 java nio python
JavaNIO与传统IO性能对比分析在Java中,I/O(输入输出)操作是开发中最常见的任务之一。传统的I/O方式基于阻塞模型,而JavaNIO(NewI/O)引入了非阻塞和基于通道(Channel)和缓冲区(Buffer)的新方式,能够更有效地处理大量I/O操作。本文将对Java传统I/O和NIO的性能进行对比分析,并展示如何通过代码实例理解两者的差异。传统I/O概述传统的JavaI/O库基于流
SpringMVC-注解配置
zl979899
SSM java spring
代替web.xml在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来配置Servlet容器,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成Spring3.2引入了一个便利的WebApplicationInitializer基
springboot 如何实现单点登录
lozhyf
工作 面试 学习 spring boot 后端 java
单点登录(SingleSign-On,SSO)允许用户使用一组凭证(如用户名和密码)登录到多个相关的应用系统中,而无需为每个系统单独进行身份验证。在SpringBoot中实现单点登录有多种方式,下面将分别介绍基于OAuth2.0和基于CAS(CentralAuthenticationService)这两种常见的实现方法。基于OAuth2.0实现单点登录1.项目依赖首先,在pom.xml中添加Spr
java+jsp+sqlserver 2008+Tomcat实现一个简单的搜索引擎
麦田上的字节
高级java教程系列 Java 搜索引擎
导读:搜索引擎的定义就是指按照既定的策略与方法,采取相关的计算机程序,通过在互联网中进行寻找信息,并显示信息,最后把找到的信息进行整理和筛选,为搜索引擎的使用者提供检索信息的服务,终极目标是为了提供给使用者,他所搜索信息相关的资料的计算机系统。搜索引擎的种类繁多,既可以进行全文的索引,还可以进行目录的索引,不仅有集合式的搜索引擎,还有
android java 串口通信_Android串口通信
婧在机器学习中
android java 串口通信
1.解析SerialPortAPI串口通信例子首先分析一下例子中的类结构:通过类结构可知,最主要的还是在SerialPortJNI.java类,该类写了一些Native方法处理打开与关闭串口接收发送的SerialPort.Java代码如下:packagecom.dwin.navy.serialportapi;importjava.io.FileDescriptor;importandroid.ut
jmeter 与大数据生态圈中的服务进行集成
小赖同学啊
jmeter专栏 jmeter 大数据
以下为你详细介绍JMeter与大数据生态圈中几种常见服务(HadoopHDFS、Spark、Kafka、Elasticsearch)集成的方法:与HadoopHDFS集成实现思路HDFS是Hadoop的分布式文件系统,JMeter可模拟客户端对HDFS进行文件读写操作,通常借助HDFS的JavaAPI编写自定义JMeter采样器。步骤添加依赖:将Hadoop的客户端JAR包添加到JMeter的li
在线教育系统设计方案
翱翔-蓝天
java
在线教育系统设计方案1.系统概述本系统是一个现代化的在线教育平台,采用前后端分离架构,提供课程管理、用户管理、视频点播、直播互动等功能。2.技术栈选型2.1后端技术栈核心框架:SpringBoot3.x数据库:MySQL8.x持久层框架:MyBatisPlus缓存:Redis消息队列:RabbitMQ搜索引擎:Elasticsearch文件存储:阿里云OSS视频点播:阿里云视频点播服务2.2前端技
public or static包下的 html 丢了(404)? 你快回来! 我一人承受不来
barcke
html 前端 java 学习 spring
没想到吧,我把html还是放到了jar包中~环境:SpringBoot版本2.XJava版本1.8.0及以上问题:publicorstatic包下的html丢了(404)?话不多说先上图我的目录结构是这样的src└──main└──java└──com└──example└──demo└──DemoApplication.java└──resources└──public├──css│└──mai
NoSQL注入攻击如何防范
abckingaa
MongoDB ORM Bee nosql 数据库 Bee
一些常见的MongoDB中的NoSQL注入攻击如下所示。1.基本的NoSQL注入攻击####示例假设有以下代码,用于查找特定用户:```javascriptletusername=req.body.username;//假设来自用户输入db.collection('users').find({username:username});```如果攻击者输入`username`为`{"$ne":null
每日一题之(super) 学习java
座山雕~
java 学习 开发语言
在Java中,super关键字用于引用直接父类对象的实例变量、方法或构造函数。它在继承机制中起着至关重要的作用,帮助解决命名冲突,并允许子类访问被隐藏的父类成员。以下是关于super关键字的一些关键细节:1.引用父类的实例变量当子类和父类有相同名称的实例变量时,可以使用super来明确地引用父类中的变量。classParent{Stringname="Parent";}classChildexte
【深度解析】Java接入DeepSeek大模型:从零实现流式对话+多轮会话管理(完整项目实战) —— SpringBoot整合、API安全封装、性能优化全攻略
barcke
java spring boot
一、DeepSeek接入全景图:不只是API调用核心优势对比特性DeepSeek其他主流模型免费Token额度500万/月通常10-100万响应延迟平均800ms1-3s流式响应兼容性原生支持需定制适配中文理解能力行业Top中等偏上适用场景推荐智能客服(实时反馈)代码辅助生成(流式输出)知识问答系统(多轮对话)分析报告(长文本生成)二、环境搭建:手把手配置开发环境1.创建SpringBoot项目(
Spring Boot 3 集成 RabbitMQ 实践指南
翱翔-蓝天
java-rabbitmq spring boot rabbitmq
SpringBoot3集成RabbitMQ实践指南1.RabbitMQ核心原理1.1什么是RabbitMQRabbitMQ是一个开源的消息代理和队列服务器,使用Erlang语言开发,基于AMQP(AdvancedMessageQueuingProtocol)协议实现。它支持多种消息传递模式,具有高可用性、可扩展性和可靠性等特点。1.2核心概念1.2.1基础组件Producer(生产者)消息的发送者
微信小程序 python PHP java nodejs物业管理系统azs8s
豆包程序员
微信小程序 python php
文章目录本项目支持的技术栈具体实现截图开发技术介绍可定制亮点创新点->协同过滤算法进度安排及各阶段主要任务技术路线或研究方法可定制亮点创新点->普通算法推荐可定制亮点创新点->最短路线推荐算法可定制亮点创新点->标签算法java类核心代码部分展示参考文献源码获取/详细视频演示本项目支持的技术栈微信小程序前端开发:运用微信开发者工具,设计简洁美观、交互友好的界面。实现页面布局、组件设计、用户交互效果
如何有效判断与排查Java GC问题
张彦峰ZYF
JVM相关知识总结 java 算法 JVM基础
干货分享,感谢您的阅读!在现代Java应用中,垃圾回收(GC)是一个不可忽视的重要环节。尽管GC自动管理内存,避免了手动释放资源的麻烦,但它带来的性能开销却常常困扰开发者。从GC暂停时间到吞吐量影响,如何在保证应用稳定性的同时,优化GC的性能,是每个Java开发者面临的挑战。本文将深入探讨GC的基本原理、常见策略及调优方法,帮助你更好地理解GC背后的机制,解决GC相关的性能瓶颈,提升应用的响应速度
轮询算法:原理、实现与应用
程序猿小young
算法 轮询算法 算法 开发语言 java
摘要轮询算法(RoundRobin)是一种经典的调度算法,广泛应用于操作系统、网络负载均衡、数据库连接池等多个领域。本文将详细介绍轮询算法的基本原理、实现方式以及在不同场景中的应用。通过Java语言的示例代码,我们将深入探讨轮询算法的实现细节,并分析其优缺点及改进方法。最后,本文将总结轮询算法在现代计算机系统中的重要性和未来发展方向。1.引言轮询算法是一种简单而公平的调度算法,其核心思想是按照固定
使用spring-boot-starter-test做单元测试简单示例
Leo_Hu666
java spring boot 单元测试
一、jar依赖org.springframework.bootspring-boot-starter-testtest二、demo示例**@SpringBootTest**publicclassTest{//要引入的Bean使用@Autowired注入//在要测试的方法上添加@org.junit.Test注释**@org.junit.Test**publicvoidtest(){System.ou
Tomcat体系架构第一篇
gaochaojin
Tomcat Java Tomcat
一、Tomcat的定义Tomcat是一款开源轻量级Web应用服务器,是一款优秀的Servlet容器实现。Servlet是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互地浏览和生成数据,生成动态Web内容。Servlet严格来讲是指Java语言实现的一个接口,一般情况下我们说的Servlet是指实现了这个Servl
Nginx:功能和工作原理详解
AnHaskell
nginx 运维 后端开发
Nginx是一款常用的高性能、可靠性强的开源Web服务器软件。它的名字是“EngineX”的缩写,旨在提供快速、高效的HTTP服务和反向代理功能。本文将详细介绍Nginx的功能和工作原理,并提供相应的源代码示例。一、Nginx的功能Nginx具有以下几个主要功能:静态文件服务:Nginx可以直接处理静态文件的请求,如HTML、CSS、JavaScript和图像文件等。它通过高效的文件传输机制,能够
Java——单例类设计模式
六七_Shmily
java java 设计模式 单例模式
在Java中,单例类(SingletonClass)是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来获取该实例。单例模式通常用于管理共享资源(如数据库连接、线程池、配置管理器等),避免重复创建对象,节省系统资源。1.单例模式的核心特点唯一实例:单例类只能有一个实例。全局访问点:通过静态方法提供全局访问。私有构造器:防止外部通过new关键字创建实例。线程安全:确保在多线程环境下也能
迁移也有温度,隆重推荐:温迁移
作为后端持续改进计划的一部分,Akamai开发了一种更快速调整云平台中虚拟机规模的方法,不仅如此,这种方法还可以在将虚拟机迁移到不同主机时显著降低日常维护期间的停机时间。在服务器的整个生命周期中,用户可能需要调整虚拟机规模,更改计划类型,甚至迁移到另一个Akamai数据中心。Akamai也可能需要定期迁移虚拟机,以帮助主机实现重新平衡或进行例行维护。以前,Akamai云计算平台上有两种类型的迁移:
PWA默认启动尺寸
污斑兔
前端
PWA默认启动尺寸标题:优化PWA应用启动尺寸:确保用户体验的最佳实践内容:在现代Web应用开发中,渐进式Web应用(PWA)因其出色的性能和用户体验而备受青睐。然而,确保PWA在不同设备和浏览器中的一致表现是一个不小的挑战。特别是在启动尺寸方面,如果处理不当,可能会导致用户在使用过程中遇到不便。本文将深入探讨如何通过JavaScript代码优化PWA的默认启动尺寸,从而提升用户体验。为什么关注P
dayjs的API
污斑兔
JavaScript 前端
dayjs的APIAPIDayjs并没有改变或覆盖Javascript原生的Date.prototype,而是创造了一个全新的包含JavascriptDate对象的Dayjs的对象。Dayjs对象是不可变的,所有的API操作都将返回一个新的Dayjs对象。解析当前时间时间字符串Date对象Unix时间戳(毫秒)Unix时间戳(秒)自定义时间格式复制验证获取+设置年月日星期时分秒毫秒获取设置操作增加
基于springboot断点续传或分片上传
小码农叔叔
springboot相关 springboot 入门到精通 java断点续传或分片上传 java断点续传
前言在做文件上传,尤其是大文件上传过程中,比如大视频等,经常会碰到这么一种情况,就是用户希望这一次没有上传完,或者中途因为网络原因上传失败了,下一次继续上传的时候可以接着上次没有传完的地方继续上传,这样既可以保证上传的进度,又不用重新上传,避免耗时的等待,这个需求该怎么实现呢?思路分析大体来说,可以分为下面几步进行思考对于前端页面来说,考虑到一次上传大文件后端可能承受不住压力,就需要将文件进行分段
SpringMVC从入门到精通(全)
码农研究僧
100天精通全栈 mvc spring java
目录1.SpringMVC简介1.1MVC1.2SpringMVC2.入门案例2.1引入依赖包2.2配置xml文件2.3创建请求控制器2.4springMVC配置文件2.5测试界面2.6总结3.@RequestMapping注解3.1value属性3.2method属性3.3params属性(了解)3.4headers属性(了解)3.5ant风格的路径3.6路径中的占位符(重点)4.获取请求参数4
VUE3+VITE简单的跨域代理配置
kkkkkkkkira
proxy配置 vue.js vite
出于安全考虑,未设置前端白名单,前端开发时,需要配置代理。在本地创建一个虚拟服务器,发送请求数据,同时接受请求的数据,利用服务器与服务器间,交互,不会有跨域问题,也是完全只靠前端自己独立解决跨域的方式应用代理前代理后前端http://localhost:5173/cms置空后端http://localhost:7001/apihttps://gov.cn:8080/gov-api/在.env.de
【LeetCode第93题】复原IP地址(java实现)
独钓清水河
刷题笔记 leetcode 剪枝 递归法 算法
【LeetCode第93题】复原IP地址递归+回溯代码实现总结题目:给定一个只包含数字的字符串,复原它并返回所有可能的IP地址格式。有效的IP地址正好由四个整数(每个整数位于0到255之间组成),整数之间用‘.’分隔。示例:输入:“25525511135”输出:[“255.255.11.135”,“255.255.111.35”]递归+回溯题目可以理解为一段字符串分成几断。思路就是先分一段出来,然
接口的成员变量
cccccchd
java 开发语言
问题:刷面经的时候,发现自己不知道接口的成员变量都是静态的,特此记录。实践:publicinterfaceC{inta=1;//默认publicstaticfinal}方法实现在Java8之前,只能包含抽象方法;从Java8开始,可以包含默认方法和静态方法可以包含抽象方法和具体方法字段只能包含publicstaticfinal字段(常量)可以包含普通字段(包括私有字段)构造方法不能有构造方法可以有
Spring4.1新特性——Spring MVC增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
mysql 性能查询优化
annan211
java sql 优化 mysql 应用服务器
1 时间到底花在哪了?
mysql在执行查询的时候需要执行一系列的子任务,这些子任务包含了整个查询周期最重要的阶段,这其中包含了大量为了
检索数据列到存储引擎的调用以及调用后的数据处理,包括排序、分组等。在完成这些任务的时候,查询需要在不同的地方
花费时间,包括网络、cpu计算、生成统计信息和执行计划、锁等待等。尤其是向底层存储引擎检索数据的调用操作。这些调用需要在内存操
windows系统配置
cherishLC
windows
删除Hiberfil.sys :使用命令powercfg -h off 关闭休眠功能即可:
http://jingyan.baidu.com/article/f3ad7d0fc0992e09c2345b51.html
类似的还有pagefile.sys
msconfig 配置启动项
shutdown 定时关机
ipconfig 查看网络配置
ipconfig /flushdns
人体的排毒时间
Array_06
工作
========================
|| 人体的排毒时间是什么时候?||
========================
转载于:
http://zhidao.baidu.com/link?url=ibaGlicVslAQhVdWWVevU4TMjhiKaNBWCpZ1NS6igCQ78EkNJZFsEjCjl3T5EdXU9SaPg04bh8MbY1bR
ZooKeeper
cugfy
zookeeper
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步, 配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来lea
网络爬虫的乱码处理
随意而生
爬虫 网络
下边简单总结下关于网络爬虫的乱码处理。注意,这里不仅是中文乱码,还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为他们的解决方式 是一致的,故在此统一说明。 网络爬虫,有两种选择,一是选择nutch、hetriex,二是自写爬虫,两者在处理乱码时,原理是一致的,但前者处理乱码时,要看懂源码后进行修改才可以,所以要废劲一些;而后者更自由方便,可以在编码处理
Xcode常用快捷键
张亚雄
xcode
一、总结的常用命令:
隐藏xcode command+h
退出xcode command+q
关闭窗口 command+w
关闭所有窗口 command+option+w
关闭当前
mongoDB索引操作
adminjun
mongodb 索引
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: &nbs
成都软件园实习那些话
aijuans
成都 软件园 实习
无聊之中,翻了一下日志,发现上一篇经历是很久以前的事了,悔过~~
断断续续离开了学校快一年了,习惯了那里一天天的幼稚、成长的环境,到这里有点与世隔绝的感觉。不过还好,那是刚到这里时的想法,现在感觉在这挺好,不管怎么样,最要感谢的还是老师能给这么好的一次催化成长的机会,在这里确实看到了好多好多能想到或想不到的东西。
都说在外面和学校相比最明显的差距就是与人相处比较困难,因为在外面每个人都
Linux下FTP服务器安装及配置
ayaoxinchao
linux FTP服务器 vsftp
检测是否安装了FTP
[root@localhost ~]# rpm -q vsftpd
如果未安装:package vsftpd is not installed 安装了则显示:vsftpd-2.0.5-28.el5累死的版本信息
安装FTP
运行yum install vsftpd命令,如[root@localhost ~]# yum install vsf
使用mongo-java-driver获取文档id和查找文档
BigBird2012
driver
注:本文所有代码都使用的mongo-java-driver实现。
在MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在
JSONObject以及json串
bijian1013
json JSONObject
一.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang-2.0.jar
2.commons-beanutils-1.7.0.jar
3.commons-collections-3.1.jar
&n
[Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性
bit1129
zookeeper
为了说明问题,看个简单的代码,
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocal
【Scala十二】Scala核心六:Trait
bit1129
scala
Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c
weblogic version 10.3破解
ronin47
weblogic
版本:WebLogic Server 10.3
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa
求第n个斐波那契数
BrokenDreams
今天看到群友发的一个问题:写一个小程序打印第n个斐波那契数。
自己试了下,搞了好久。。。基础要加强了。
&nbs
读《研磨设计模式》-代码笔记-访问者模式-Visitor
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
interface IVisitor {
//第二次分派,Visitor调用Element
void visitConcret
MatConvNet的excise 3改为网络配置文件形式
cherishLC
matlab
MatConvNet为vlFeat作者写的matlab下的卷积神经网络工具包,可以使用GPU。
主页:
http://www.vlfeat.org/matconvnet/
教程:
http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html
注意:需要下载新版的MatConvNet替换掉教程中工具包中的matconvnet:
http
ZK Timeout再讨论
chenchao051
zookeeper timeout hbase
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003
CASE WHEN 用法介绍
daizj
sql group by case when
CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN
PHP技巧汇总:提高PHP性能的53个技巧
dcj3sjt126com
PHP
PHP技巧汇总:提高PHP性能的53个技巧 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注: PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍
Yii框架中CGridView的使用方法以及详细示例
dcj3sjt126com
yii
CGridView显示一个数据项的列表中的一个表。
表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。 CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。
实例代码如下:
Maven项目打包成可执行Jar文件
dyy_gusi
assembly
Maven项目打包成可执行Jar文件
在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下:
1、在项目中加入插件的依赖:
<plugin>
php常见错误
geeksun
PHP
1. kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastc
修改linux的用户名
hongtoushizi
linux change password
Change Linux Username
更改Linux用户名,需要修改4个系统的文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
古老/传统的方法是使用vi去直接修改,但是这有安全隐患(具体可自己搜一下),所以后来改成使用这些命令去代替:
vipw
vipw -s
vigr
vigr -s
具体的操作顺
第五章 常用Lua开发库1-redis、mysql、http客户端
jinnianshilongnian
nginx lua
对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。
一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。
Redis客户端
lua-resty-r
zkClient 监控机制实现
liyonghui160com
zkClient 监控机制实现
直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句
pda158
mysql
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:
方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';
方法二:SELECT column_name from information_schema.colum
程序员对英语的依赖
Smile.zeng
英语 程序猿
1、程序员最基本的技能,至少要能写得出代码,当我们还在为建立类的时候思考用什么单词发牢骚的时候,英语与别人的差距就直接表现出来咯。
2、程序员最起码能认识开发工具里的英语单词,不然怎么知道使用这些开发工具。
3、进阶一点,就是能读懂别人的代码,有利于我们学习人家的思路和技术。
4、写的程序至少能有一定的可读性,至少要人别人能懂吧...
以上一些问题,充分说明了英语对程序猿的重要性。骚年
Oracle学习笔记(8) 使用PLSQL编写触发器
vipbooks
oracle sql 编程 活动 Access
时间过得真快啊,转眼就到了Oracle学习笔记的最后个章节了,通过前面七章的学习大家应该对Oracle编程有了一定了了解了吧,这东东如果一段时间不用很快就会忘记了,所以我会把自己学习过的东西做好详细的笔记,用到的时候可以随时查找,马上上手!希望这些笔记能对大家有些帮助!
这是第八章的学习笔记,学习完第七章的子程序和包之后