- Java每日精进·45天挑战·Day14
云朵大王
开发语言算法
第一部分:逆波兰表达式求值在编程中,逆波兰表达式(ReversePolishNotation,RPN)是一种后缀表达式,它的特点是将运算符写在操作数的后面。这种表达式形式在处理算术运算时具有许多优点,尤其是它非常适合使用栈数据结构来进行求值。今天,我们将通过Java代码来实现一个逆波兰表达式的求值器。逆波兰表达式的优点无括号表达式无歧义:在逆波兰表达式中,由于运算符始终写在操作数的后面,因此即使去
- Android Native 回调 Java/JVM
BrainZou
Androidjavaandroid开发语言
背景网络上大部分文章都是JNI的编写,但是一些情况下在so里面,也有Native调用回Java的场景,文章相对较少。而且如果照着一些文章写的,可能会出现写的c的每一行代码都执行了,但是Java层就是没执行等奇奇怪怪的问题。做项目时也遇到过这些坑,特总结如下。部分代码//TestJNI.ktclassTestJNI{init{System.loadLibrary("test")initTest()}
- html5 二进制数据解析,JavaScript读写二进制数据的方法详解
如果有片海
html5二进制数据解析
前言二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数,如果想要在前端中处理音频和视频。那你必须要对二进制数据有很好地掌握和操作能力。下面话不多说了,来一起看看详细介绍的吧类型化数组的出现类型化数组是HTML5中引入的API,它能够让开发者使用JavaScript直接操作二进制数据。在类型化数组出现之前,我们是无法直接通过JavaScript操作二进制数据,通常都是操作J
- 线程池处理异常
NaughtyBo
#并发javaandroid开发语言
线程池在提交的任务在处理过程中发生了异常,却没有捕获到,导致异常只是输出在控制台,这通常需要把异常记录下来1、通过观察ThreadGroup的构造方法知道,当调用线程组的构造方法时,会获取当前线程所属的线程组,作为当前正在创建的线程组的parent线程组。2、通过在main方法中获取线程组信息可知,当前main线程所属的线程组是main线程组,而main线程组的parent线程组是system线程
- Golang使用viper读取配置到结构体,但是获取的数据为空
又菜又爱玩呜呜呜~
golang
1.viper库viper库是一个读取配置文件的库,支持多种配置文件,如JSON/TOML/YAML/HCL/envfile/Javaproperties等2.遇到的问题在使用viper库的时候发现按照相应的配置已经读取到了对应的配置,但是转换为结构体的时候发现怎么拿结构体里面的数据都是空的3.解决步骤1.打印所有的viper读取到的配置database:host:127.0.0.1port:33
- Spring Framework 7.0.0-M1 预发布版重磅更新!全面优化,性能与稳定性双提升!
在当今快速发展的技术领域中,SpringFramework作为Java生态系统中的核心框架之一,今天的内容是介绍v7.0.0-M1预发布版——一个旨在为开发者们带来前所未有的编程体验的里程碑版本。v7.0.0-M1预发布:spring-projects/spring-framework⭐新特性在ClassUtils.forName()中移除对二进制数组名称的处理。(#34291https://gi
- C#编程的技术难点有什么
编程
在C#编程的过程中,开发者会面临许多技术难点,尤其是在深入理解和应用C#的高级特性时。C#编程的技术难点主要体现在内存管理、并发编程、反射机制、LINQ(语言集成查询)、以及异步编程等方面。这些难点往往需要开发者对C#的底层原理和高级功能有较为深入的理解,并且在实际项目中逐步积累经验。其中,异步编程与并发编程是C#开发中常见且具挑战性的难点,特别是在多线程和任务并行的处理上,需要合理运用相关的工具
- JavaScript结构型设计模式---外观模式
安静一会儿
JavaScript设计模式设计模式外观模式
参考书籍:JavaScript设计模式外观模式:为一组复杂的子系统接口提供一个更高级的统一接口,使更加容易的访问子系统对底层结构兼容性做封装functionaddEvent(dom,type,fn){//if(dom.addEventListener){dom.addEventListener(type,fn,false);//}elseif(dom.attachEvent){dom.attach
- JavaScript设计模式 -- 迭代器模式
鎈卟誃筅甡
javascript设计模式迭代器模式
在软件开发中,我们经常需要遍历集合、数组、链表、树等数据结构。传统上,这些数据结构往往需要暴露内部实现细节,或者写大量重复的遍历代码。**迭代器模式(IteratorPattern)**提供了一种统一的方式来访问集合内的元素,而不暴露集合的内部表示。通过定义统一的迭代器接口,可以使客户端代码与数据结构实现解耦,从而使系统更易扩展和维护。迭代器模式简介迭代器模式属于行为型设计模式,其主要思想是将遍历
- JavaScript设计模式 -- 适配器模式
鎈卟誃筅甡
javascript设计模式适配器模式
在软件开发中,经常会遇到这样的情况:现有的类或第三方库提供的接口与系统中期望的接口不匹配。如果直接修改已有代码风险较大或者不可行,这时适配器模式(AdapterPattern)就能派上用场。适配器模式通过创建一个包装类,将原有接口转换为客户所期望的接口,从而使原本不兼容的类能够协同工作。本文将从基本概念入手,详细介绍适配器模式的实现方式及其在多个场景下的应用示例,并探讨其优缺点和使用建议。适配器模
- javascript 常见设计模式
smiley121
javascript设计模式
什么是设计模式?在软件开发中,设计模式是解决特定问题的经验总结和可复用的解决方案。设计模式可以提高代码的复用性、可维护性和可读性,是提高开发效率的重要手段。单例模式1.概念单例模式(SingletonPattern),保证一个类只有一个实例,并提供一个访问它的全局访问点。也就是说,第二次使用同一个类创建新对象的时候,应该得到与第一次创建的对象完全相同的对象。2.代码实现classSingleton
- 成电通信研一,没有实习机会的Java道路是否可行?未来是走Java开发还是嵌入式?
程序员yt
java开发语言
今天给大家分享的是一位粉丝的提问,成电通信研一,没有实习机会的Java道路是否可行?未来是走Java开发还是嵌入式?接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。同学提问:你好,我本科杭电,硕士成电,通信工程研一,不知道之后要走java还是嵌入式,嵌入式我把江科大的视频都看完了,也跟着做了实验,不知道后面怎么走。导师应该不放实习,java没实习应该很严重
- 单片机、嵌入式Linux开发大学自学路径
Oriental Son
嵌入式MCU单片机单片机学习stm32mculinux
笔者所修读的专业为物联网工程,物联网工程是一门新兴的、热门的专业,其所涉及的学科更是又多又杂,既有计算机方向的编程语言(如C、C++、Java、Python等)、数据结构与算法、操作系统、移动端应用开发、机器学习等;软硬结合的方向有数字电路单片机开发、嵌入式Linux开发等;硬件、电路方向有电路分析、数字电路、模拟电路、传感器原理、RFID、FPGA开发等;涉及信号处理的有信号与系统、通信原理等。
- Log4j在Spring项目中的应用与实践
t0_54program
log4jspringjava个人开发
在现代Java开发中,日志记录是不可或缺的一部分。它不仅帮助开发者调试和监控应用程序的运行状态,还能在出现问题时快速定位原因。今天,我们就来探讨如何在Spring项目中使用Log4j进行日志管理,并通过具体的实例来展示其强大的功能。一、Log4j简介Log4j是Apache提供的一个开源日志框架,广泛应用于Java项目中。它提供了灵活的日志记录方式,支持多种日志级别和输出格式。通过配置文件,开发者
- Java笔记——Java的三大体系架构:深入剖析Java的三大体系架构
啊健的影子
java笔记架构
Java的三大体系架构概述JavaSEJavaSE的主要特点和应用场景JavaSE中的核心API和功能JavaSE的优缺点JavaSE的主要特点和应用场景JavaSE中的核心API和功能JavaSE的优缺点JavaEEJavaEE的主要特点和应用场景JavaEE中的核心API和功能JavaEE的优缺点JavaEE的主要特点和应用场景JavaEE中的核心API和功能JavaEE的优缺点JavaMEJ
- spring cloud和spring boot的区别
zzyh123456
springcloudspringbootspring
SpringCloud和SpringBoot在Java开发领域中都是非常重要的框架,但它们在目标、用途和实现方式上存在明显的区别。以下是对两者区别的详细解析:1.含义与定位SpringBoot:是一个快速开发框架,它简化了Spring应用的初始搭建以及开发过程。旨在通过“习惯优于配置”(ConventionOverConfiguration)的原则,减少开发者在配置上的工作,使得开发者可以更专注于
- day_11_java高级编程_泛型_通配符 (560~574)
yangsen116291
java开发语言后端
泛型泛型:标签:将元素类型设置为参数–>泛型相当于预先规定了当前集合存储的数据类型,再使用当前集合时,自动规范数据类型。泛型只能是类,不能是基本数据类型,此类可以是任意类,不一定是包装类,没指定默认为Object当使用泛型后,重写compateTo和compare方法时不再需要(Obiectoinstanceof指定类)再强转了因为集合中的类型已经规定了,不符合的添加不到集合中,所以直接rentu
- 【JAVA工程师从0开始学AI】,第二步:从强类型到动态语言:Java工程师的Python语法避坑指南
架构默片
JAVA工程师从0开始学AIpythonjavawindows
这是一篇介绍Python语法与JAVA语法区别文章,让我们以对比的方式,来学习一下Python的语法。首先我们看一下下面的Python代码,和具体在java当中分别代表了什么意思numbers=[1,2,3,4,5,6,7,8,9]#①创建数字列表(像Java的ArrayList,但不用写泛型)odd_numbers=[]#②准备装奇数的空列表(类似Java的newArrayListnumbers
- 微服务之网关
qq_40784183
微服务负载均衡架构
1.网关的选择Zuul和SpringCloudGateway(其他没用过了)2.Zuul(NetflixZuul)与SpringCloudGateway对比性能方面Zuul:Zuul1.x是基于Servlet的同步阻塞模型,在处理高并发请求时性能相对较弱。每个请求都会占用一个线程,当并发量较大时,线程资源可能会成为瓶颈。不过,Zuul2.x版本在性能上有所改进,采用了异步非阻塞模型,能够更好地处理
- JavaScript数组-获取数组中的元素
難釋懷
javascript开发语言前端
在JavaScript中,数组是一种非常实用的数据结构,它允许我们将多个值存储在一个单独的变量中。无论是数字、字符串还是对象,都可以作为数组的元素。获取数组中的特定元素是操作数组的基础技能之一。本文将详细介绍如何在JavaScript中获取数组中的元素。一、通过索引访问元素基本概念数组中的每个元素都有一个对应的索引,这个索引是从0开始计数的整数。也就是说,第一个元素的索引为0,第二个元素的索引为1
- 提示工程(Prompt Engineering)的进阶策略与实践指南
调皮的芋头
prompt机器学习人工智能
深化与细化:提示工程(PromptEngineering)的进阶策略与实践指南一、结构化提示的黄金框架CRISPE框架(角色-约束-意图-风格-示例)适用于复杂技术场景,确保输出精准可控:[角色]你是一名有10年经验的Java架构师[约束]使用SpringSecurity6.0+,兼容JDK17[意图]实现支持JWT和OAuth2协议的用户鉴权模块[风格]代码符合GoogleJavaStyle,包
- Git 从入门到进阶 (只有干货,没有废话)
2401_84153158
程序员gitelasticsearch大数据
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!1.2.2已有的项目gitstash保存当前修改gitpull拉取远程最新代码与本地合并gitstashpop取出当前最新修改gitadd文件列表追踪文件gitcommit-m提交信息向仓库提交代码gitpushorigin分支名称推送至远程仓库具体的分支二、Git进阶操作=============
- 【Linux探索学习】第二十九弹——线程概念:Linux线程的基本概念与线程控制详解
GG Bond.ฺ
Linux探索学习linux学习算法运维
Linux学习笔记:https://blog.csdn.net/2301_80220607/category_12805278.html?spm=1001.2014.3001.5482前言:在现代操作系统中,线程是程序执行流的最小单元。与进程相比,线程更加轻量级,创建和销毁的开销更小,且线程之间可以共享内存空间,因此在多任务处理、并发编程中,线程的使用非常广泛。Linux作为一个多用户、多任务的操
- 【JAVA工程师从0开始学AI】,第四步:闭包与高阶函数——用Python的“魔法函数“重构Java思维
架构默片
JAVA工程师从0开始学AI人工智能javapython
副标题:当严谨的Java遇上"七十二变"的Python函数式编程历经变量战争、语法迷雾、函数对决,此刻我们将踏入Python最迷人的领域——函数式编程。当Java工程师还在用接口和匿名类实现回调时,Python的闭包已化身"智能机器人",带着"记忆传承"的能力自由穿梭于代码之间。这里没有类的枷锁,函数既是武器又是盾牌,高阶函数组合出的"代码万花筒",正是AI数据处理、模型训练的核心密码。本文将用J
- 【微服务】springboot 构建docker镜像多模式使用详解
小码农叔叔
linux与容器实战springboot相关springboot微服务java
目录一、前言二、微服务常用的镜像构建方案3.1使用Dockerfile3.2使用dockerplugin插件3.3使用dockercompose编排文件三、环境准备3.1服务器3.2安装JDK环境3.2.1创建目录3.2.2下载安装包3.2.3配置环境变量2.2.4查看java版本3.3安装maven3.3.1下载maven安装包并解压3.3.2配置setting文件3.3.3配置maven的环境
- 23种设计模式-装饰器(Decorator)设计模式
萨达大
软考中级-软件设计师设计模式javaC++结构型设计模式软考软件设计师装饰器模式
文章目录一.什么是装饰器设计模式?二.装饰器模式的特点三.装饰器模式的结构四.装饰器模式的优缺点五.装饰器模式的C++实现六.装饰器模式的Java实现七.代码解析八.总结类图:装饰器设计模式类图一.什么是装饰器设计模式? 装饰器模式(DecoratorPattern)是一种结构型设计模式。它允许在运行时动态地为对象添加新的功能,而无需修改其代码。装饰器模式通过将对象嵌套在装饰器对象中,实现了功能的
- tomcat责任链设计模式 FilterChain原理解析
mengxiangsun
java
转自:http://javapolo.iteye.com/blog/1287747今天晚上花了些时间debug了下tomcat,注意观察了下tomcat内部过滤器的实现,其实tomcat内部过滤器采用了责任链的设计模式,(其实struts2拦截器那一块采用了相似的设计模式),以下是个人对源码的解读,ApplicationFilterChain详解首先是对该类的定义的介绍/***Implementa
- 泛型和通配符详解
重生之我在成电转码
java开发语言
在Java中,**泛型(Generics)和通配符(Wildcard)**是用于增强类型安全性和代码复用的强大特性。它们允许类、接口和方法在定义时不指定具体类型,而是在使用时指定类型参数。通过泛型和通配符,Java可以在编译时进行类型检查,从而避免运行时错误。下面我将详细解释这两个概念,包括其用法、区别、以及各种常见的模式。1.泛型(Generics)泛型是一种在定义类、接口或方法时使用类型参数的
- Windows线程同步—Critical_Section(临界区)深度解析与实战指南
和舒貌
windowsc++网络信息与通信后端
C++Critical_Section深度解析与实战指南一、线程同步的必要性在多线程编程中,当多个线程访问共享资源时(如全局变量、文件、内存区域等),会出现竞态条件(RaceCondition)。例如两个线程同时对同一个变量进行累加操作,可能导致结果不符合预期:线程A共享变量x=0线程B读取x=0读取x=0计算x+1=1计算x+1=1写入x=1写入x=1线程A共享变量x=0线程B关键问题分析:线程
- Socket通讯协议理解及客户端服务器程序流程
luckyext
网络tcp/ip网络协议
Socket通讯我们可以从以下几个方面简单理解1.Socket是网络通信中的一项重要技术,它提供了在网络上进行数据交换的接口。用C#、Java、C++等开发语言,都可以开发Socket网络通信程序。2.Socket(套接字)是计算机网络编程中的一种抽象,它允许不同的计算机或网络设备通过网络进行数据交换。Socket在应用层和传输层之间提供了一个接口,用于实现进程之间的通信。在网络通信中,Socke
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s