- 高阶数据结构之哈希表基础讲解与模拟实现
渡我白衣
c++知识点数据结构c++
程序猿的读书历程:x语言入门—>x语言应用实践—>x语言高阶编程—>x语言的科学与艺术—>编程之美—>编程之道—>编程之禅—>颈椎病康复指南。前言:哈希表(HashTable)是一种高效的键值对存储数据结构,广泛应用于各种需要快速查找的场景,如数据库索引、缓存系统、集合等。它的基本思想是通过哈希函数将键映射到哈希表中的一个位置,从而实现快速的数据插入、删除和查找操作。下面我们将详细介绍哈希表的工作
- 编程之美_目录
wangwangmoon_light
编程之美算法
编程之美0)0_0_常用函数库0)0_1_测试函数总结1)1.1数据结构之数组2)1.2数据结构之字符串3)1.3数据结构之链表4)1.4数据结构之队列5)1.5数据结构之栈5)1.6数据结构之二叉树6)1.7数据结构之BFS7)1.8数据结构之DFS8)2.1算法之动态规划
- Java 并发编程之美:并发编程高级篇之一-chat
阿里加多
借用Java并发编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了。相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的。并发编程相比Java中其他知识点学习起来门槛相对较高,学习起来比较费劲,从而导致很多人望而却步;而无论是职场面试和高并发高流量的系统的实现却都还离不开并发编程,从而导致能够真正掌握并发
- 将数组划分为两个元素和最接近的子数组
xjbzju
面试题精选算法iteratoriteye编程stringjava
这算是编程之美上面一道很经典题目,不过题目还是有几种变形,一种是要求两边有相同个数的元素(开始元素个数保证为偶数,编程之美上的原题),另一道限制较宽松,对两边子数组的元素个数没有要求,只要元素和之间尽可能的接近;这道题目不是具有很严格的最优子结构,但是按照下面所摘录的博客思路增大一维的状态空间逼近一个不确定的目标值,(而不是固定的sum/2)可以对应到动态规划求解,但是觉得这种思路不太优雅,而且在
- 浅析项目实践接触到的java并发线程池应用场景
无一郎的技术圈
java后端
文章目录前言场景一、营销场景-门店活动信息定时校验场景二、算法工程依赖-批量查询数据集总结前言最近研读《java并发编程之美》这本书8、9、11章关于线程池的部分,有很多新的收获,在此想结合项目经历,总结分析一下实践中对于线程池的应用场景。场景一、营销场景-门店活动信息定时校验定时执行的数据核对任务需要异步线程池处理,实现定时任务有很多种方式,比如xxl-job、scheduleX等。但是要和Sc
- 《java并发编程之美》学习笔记-知识盲点记录
无一郎的技术圈
java后端
文章目录@[TOC](文章目录)前言一、InheritableThreadLocal类(第一章1.11节)二、原子操作Adder与Accumulator(第四章)1.LongAdder2.LongAccumulator三、StampedLock锁(第六章)四、守护线程、伪共享、虚假唤醒(第一、二章)1.守护线程2.伪共享3.虚假唤醒4.Unsafe类与LockSupport五、Concurrent
- 项目框架构建之1:编程之美-构建高可用项目结构的思考与实践,手把手一步一步演练构建整个项目框架结构系统以及生产子系统的应用
中洲少年
项目框架实例c#面向对象项目框架
写本文的目的,一是因为好久没有写文章了,不知道写些啥,基础的东西,网上到处都是,写的千篇一律没有意思;二是因为心血来潮,真的太忙了,好久没写过文章了,是要补点东西了,思来想去,跟大家一起研究探讨怎么构建一个项目结构吧。随着现代技术的飞速发展,微服务、容器化、分离技术等概念层出不穷。虽然它们各有特点,但本质上都在追求将项目尽可能单一化,让每个工作、任务、功能尽量独立,再通过开放的接口相互访问。这种思
- Python之巅:探索50个代码大全
码农阿豪
好“物”分享python
目录1-10Python入门之美11-20Python数据之美21-30Python函数式编程之美31-40Python面向对象之美41-50Python实用技巧之美结尾Python,是一门充满灵性的编程语言,其简洁而强大的语法使得编写优雅代码变得轻松自如。本文将引领你穿越Python的奇妙世界,展示50个令人叹为观止的代码大全,助你在编程之路上更上一层楼。Python代码大全Python的美在于
- LRU cache实现
packet
题目:LRU缓存机制-LeetCode(中国)其实现原理可以用一张图来表示:k-v储存在map中,用一个双向链表来维持访问顺序。为什么要用双向链表?因为可以在O(1)内删除某个节点。等等,似乎单向链表也可以快速删除,比如《编程之美》有一道题目是从无头的单向链表中快速删除一个节点。为什么在这里为什么不能使用呢?1)这不是真正的删除,而是替换。真正删除的是下一个节点。2)这种方法无法“删除”尾节点。i
- 循环嵌套与排序:跨越语言的编程之美
4.0啊
算法排序算法
1.循环嵌套的奥妙循环嵌套是编程中一个常见而强大的技术手段,通过在循环体内嵌套另一个循环,程序可以更灵活地处理复杂的问题。在C++中,循环嵌套的语法如下:for(inti=0;iintarr[]={4,2,8,5,1};intn=sizeof(arr)/sizeof(arr[0]);std::sort(arr,arr+n);在Python中,可以使用内置函数sorted或列表的sort方法:arr
- 什么是线程死锁以及如何避免死锁
happyJared
认识线程死锁多个线程同时被阻塞,他们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止,最终导致死锁产生。如下图所示,线程A持有资源2,线程B持有资源1,他们同时都想申请对方的资源,所以这两个线程就会因互相等待而进入死锁状态。线程死锁示意图下面通过一个例子来说明线程死锁,代码模拟了上图的死锁情况(源于《并发编程之美》):publicclassDeadLockDe
- 求两个数的最小公倍数的方法c语言,详解C语言求两个数的最大公约数及最小公倍数的方法...
Comphen
求两个正整数的最大公约数思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法。通式分别为f(x,y)=f(y,x%y),f(x,y)=f(y,x-y)(x>=y>0)。根据通式写出算法不难,这里就不给出了。这里给出《编程之美》上的算法,主要是为了减少迭代的次数。对于x和y,如果y=k*y1,x=k*x1,那么f(x,y)=k*f(x1,y1)。另外,如果x=p*x1,假设p为素
- java中什么是线程死锁_Java中的线程死锁是什么?如何避免?
这样哈
java中什么是线程死锁
认识线程死锁多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。如下图所示,线程A持有资源2,线程B持有资源1,他们同时都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态。下面通过一个例子来说明线程死锁,代码模拟了上图的死锁的情况(代码来源于《并发编程之美》):publicclassDeadLockDemo{privatesta
- 计算机经典书籍
sun_xin_1001
计算机c/c++设计模式c#
各种计算机语言的经典书籍1.算法导论(第3版)2.代码大全(第2版)3.C++Primer中文版(第4版)4.设计模式:可复用面向对象软件的基础5.浪潮之巅6.Java编程思想(第4版)7.Java核心技术卷1:基础知识8.Java核心技术卷2:高级特性9.人月神话10.Linux内核编程11.C程序设计语言(第2版新版)12.******与画家:硅谷创业之父PaulGraham文集13.编程之美
- 【找工作准备】计算机基础知识整理
buxizhizhou530
总结笔试/面试找工作计算机基础知识算法
计算机基础知识整理基础知识整理【写在前面】本页面仅涉及基础知识的梳理,比如算法与数据结构,操作系统,数据库,C/C++等,这一块主要是确定性知识,是计算的基本东西,俗称”内功“。————————————————————————————————————————————-1.数据结构与算法1.1书籍(1)算法导论(2)编程之美(3)编程珠玑(4)数据结构(C语言版)(5)CareerCup.Crack
- 《Java并发编程之美》学习笔记及补充
qq_三哥啊
#多线程java并发编程多线程
文章目录前言第一部分Java并发编程基础篇第1章并发编程线程基础1.1什么是线程JVM内存区域(运行时数据区域)1.2线程创建与运行1.3线程通知与等待为什么wait/notify/notifyAll必须要放在synchronized中线程的六种状态1.4等待线程执行终止的join方法1.5让线程睡眠的sleep方法1.6让出CPU执行权的yield方法1.7线程中断1.8理解线程上下文切换1.9
- 一个程序员的审美情感
Kay_Coding
原文地址:一个程序员的审美情感周末聊些轻松的话题,身为程序员的你,是怎么看待「美」的?代码美不美?架构美不美?什么样的美才是技术的美?欢迎留言讨论。写在前面我们大概都阅读过或听说过类似于编程之美或架构之美或数学之美的著作,那么,代码到底美不美呢?如果是美的,是怎样的美呢?又该怎样理解和欣赏这种美呢?不妨把问题向美学或艺术的稍深层次的内涵稍稍推进一步,姑且把程序员视为艺术家,那么,代码有可能作为他们
- 并发编程之美
今天学不学?
线程线程
线程基础文章目录线程基础创建线程以及运行继承Thread类实现Runnable接口实现Callable接口线程的通知和等待wait()函数notify()和notifyAll()函数等待线程执行终止的join()函数使线程睡眠的sleep()函数使CPU让出执行权的yield()函数线程中断线程的上下文切换线程死锁守护线程和用户线程ThreadLocal实现原理key为弱引用重点多线程并发编程并发
- 《Java并发编程之美》学习笔记
jmysql
java学习大数据
成功上岸,进入华为,之前花5W买的JAVA课程合集,整整420集,拿走不谢,公粮上交,手把手教学,学完即可就业_哔哩哔哩_bilibili1.并发编程基础1.1什么是线程线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的资源操作系统在分配资源时是
- 《Java并发编程之美》笔记
老干妈炒饭
Java并发编程之美阅读开源框架的一点心得为什么要看源码由经验不足导致的问题不知道如何去设计,就看当前系统类似需求的设计,然后去仿照设计的时候,考虑不周全工作经验的积累来自于年限与实践,看源码可以扩展思路可以解决经验不足的办法通过学习开源框架、开源项目来获取经验对于比较大型的项目,可能迷失在源码中,需要找到自己想要的点看源码的好处如果有阅读源码的经验,研究新系统的代码逻辑时就不会那么费劲当你使用框
- synchronized的实现原理——对象头解密
夜勿语
并发编程并发编程synchronized偏向锁轻量锁重量锁
前言并发编程式Java基础,同时也是Java最难的一部分,因为与底层操作系统和硬件息息相关,并且程序难以调试。本系列就从synchronized原理开始,逐步深入,领会并发编程之美。正文基础稍微好点的同学应该都知道,Java中获取锁有两种方式,一种是使用synchronized关键字,另外一种就是使用Lock接口的实现类。前者就是Java原生的方式,但在优化以前(JDK1.6)性能都不如Lock,
- leetcode刷题经验
modouwu
算法算法
leetcode刷题经验注意1.按算法的分类来选题和刷题,比如一个时间段,只刷链表题,待刷得差不多的时候,接下来再刷二叉树的题2.解题三部曲看懂题目、分析,推导解法、将思路转换为代码3.推荐三本有益于面试的书籍,分别是:《剑指offer》《编程珠玑》《编程之美》4.算法,主要是以下几种:基础技巧:分治、二分、贪心排序算法:快速排序、归并排序、计数排序搜索算法:回溯、递归、深度优先遍历,广度优先遍历
- 并发编程进阶类学习--java并发编程之美(二)
不洇
并发编程java多线程并发编程
文章目录Random类原理及其局限性上述代码的执行流程应运而生的ThreadLocalRandomAtomicLong的介绍函数列表缺点使用LongAdder(jdk1.8新增)相比于AtomicLong的好处具体LongAdder实现原理LongAdder的设计结构简略图简单聊一下LongAdder的add方法LongAccumulator类(jdk1.8新增)相比于LongAdderRando
- Java并发编程之美——第一章 Java并发编程基础
Hireek
Java并发编程之美java并发编程
文章目录Time2021-12-26——Hireek什么是线程线程的等待和通知等待线程终止的join方法让线程睡眠的sleep方法让出CPU执行权的yield方法线程中断demo线程上下文切换线程死锁什么是死锁如何避免死锁用户线程与守护线程ThreadLocalintroduction,下文只阐述重要的set方法。Entry(ThreadLocal->弱应用)publicvoidset(Tvalu
- 异步编程之美
难得今生共此时
其他
在大学毕业后的工作期间,从最开始的编写同步代码,到慢慢为了提高系统性能,把一些任务使用异步的方式来处理,从而提高系统的响应时间,那么就会产生一些新的问题,如何监控在异步线程执行的任务的执行状态,是否出现了错误,出现了错误怎么处理,系统创建大量线程又该如何统一管理,这些种种问题都让使我意识到深入了解异步编程的必要性。同步的代码,在很多情况下,CPU其实是在等待中度过的,比如等待一个网络连接,等待My
- 《数据结构与编程之美》学习笔记1:为什么,怎么学数据结构与算法。
在長島喝冰茶
数据结构与编程之美数据结构与算法
写在前面:数据结构与算法对于一个程序员来说是至关重要的,一个好的程序员和不好的程序员之间的差距可能就是算法与数据结构掌握。本篇博文也是在学习王争老师的《数据结构与算法之美》课程之后所做的笔记,方便之后回顾。一、那么为什么要学习算法呢?1.大厂面试,必考数据结构与算法。校招时,参加面试学生大多没有实际项目经验,公司考察学生基础知识是否掌握。因为这反映了一个人的长期潜力,FLAG巨头面试也是全部面算法
- Leetcode 404. 左叶子之和
Jason__Liang
leetcode
这道题看到了解法又让我感受到了编程之美。教会了我虽然框架能让人很快写出代码,但是真正优秀的代码总是能够不被框架约束!参考了向北的稻草的博客classSolution:defsumOfLeftLeaves(self,root):""":typeroot:TreeNode:rtype:int"""ifrootisNone:return0sum=0ifroot.leftisnotNoneandroot.
- 编程之美之实时排名算法
fangjian1204
网络编程算法排名算法编程之美平衡树海量数据缓存机制
首先来看一个实时排名算法参考文献某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。存储结构首先,我们用一张用户积分表user_score来保存用户的积分信息。表结构:示例数据:下面的算法会基于这个基本的表结构来进行。算法1:简单SQL查询首先,我们很容易想到用一条简单的S
- Mojo:新型AI语言中的7个令人惊叹的Python升级,用简单的英语解释人工智能
丁丁猫 Codeye
后端
Mojo:新型AI语言中的7个令人惊叹的Python升级编程之美用简单的英语解释人工智能编程之美由CodingBeauty设计的图像,使用Mojo标志和Python标志。它比C更快,与Python一样简单,但速度提高了35000倍。进入Mojo:一种专为AI开发人员制作的全新编程语言,由Modular公司创建,该公司由Swift的原始创作者ChrisLattner创立。这个半著名的35000倍增长
- 写一个函数,返回一个数组中所有元素被第一个元素除的结果
oh_flying
首先这个是在看《编程之美》这本书的时候看到的题目,书中提到的方法是写了个反向循环,也就是从最后一个数一次除以第一个数,获取到答案,书中也说了,正向的是个陷阱,我一时没想明白,后面写了一遍,仔细思考了下,觉得确实有问题,现在记录一下。先来个错误的写法,也就是正向循环,使用js实现,其实任何语言都大同小异。functiontest(array,size){for(leti=0;i=0;i--){//a
- 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