大姐姐😂
figo_fh
关注数: 2
粉丝数: 201
发帖数: 1,846
关注贴吧数: 39
现在合肥高新区的交通便利吗? 现在合肥高新区的交通便利吗?
发展趋势 合肥高新发展趋势应该是以高新产业自居的吧
发展趋势 合肥高新发展趋势应该是以高新产业自居的吧
文本框限制表达式 JS-只能输入中文和英文 2008-11-08 10:17 在js中用正则表达式对象(RegExp)判断 中文 ^[\u0391-\uFFE5]+$ 英文 ^[A-Za-z]+$ 中文和英文 /^[\u0391-\uFFE5A-Za-z]+$/ js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> <input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"> 3.数字和小数点方法二 <input type=text tvalue="" ovalue="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.ovalue=this.value}"> 4.只能输入字母和汉字 <input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers"> 5.只能输入英文字母和数字,不能输入中文 <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"> 6.只能输入数字和英文<font color="Red">chun</font> <input onKeyUp="value=value.replace(/[^\d|chun]/g,'')"> 7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号: <input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false"> 8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号: <input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"> ———————————————————————————————————————— 只能输入汉字: <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"> 只能输入数字: <input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 只能输入英文和数字: <input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 控制输入框只能输入文字或数字,也可以不允许输入特殊字符 这里不允许输入如下字符: (像 !@#$%^&* 等)<br> <textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;"> 只禁止空格输入 onkeyup="value=value.replace(/\s/g,'')" 只能输入中文和英文: onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"
关于ceil和floor函数 ceil和floor函数在一些业务数据的时候,有时还是很有用的。 ceil(n) 取大于等于数值n的最小整数; floor(n)取小于等于数值n的最大整数 ceil(1.2) = 2 floor(1.2) = 1
关于调用淘宝ip解析接口限制问题 在我们方便使用淘宝ip解析接口来解析我们的ip时,这时淘宝给我们限制了一些调用的条件 官方给我出的是限制10qps,就是同一个用户每秒访问不能超过10次。 接口为:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fip.taobao.com%2Fservice%2FgetIpInfo.php%3Fip%3D&urlrefer=2d3d04d279aed8367de7ad81e4f8da60"+IP 但是在使用的时候我发现这个接口还有一个限制,如果我多次解析同一个ip它就会现在我查询的相应时间 同ip解析限制时间是30s,第二次访问同一个ip30s后才能得到解析结果,这个限制实在是太恶心了
Dynamic Web Module to 2.4 maven项目报错:Cannot change version of project facet Dynamic Web Module to 2.4 在此如果出现这个错误,并且修改org.eclipse.wst.common.project.facet.core.xml 无果的情况下 我们可以添加 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> 相应的版本就可以解决问题
Query 2.2.1 动态配置时间 --------------------------------------------------------------------------------------------------- 1.quartz默认任务 2.定时修改定时任务的时间 --------------------------------------------------------------------------------------------------- package com.sungoin.platform.crm.util; import org.apache.xmlbeans.impl.regex.ParseException; import org.quartz.SchedulerException; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class QuartzJob{ private final static String QUARTZ_NAME = "exportJob"; QueryJobImpl qj = new QueryJobImpl(); public QuartzJob(){ System.out.println("----------实例化默认调度时间-------------"); //默认下载调度时间 try { QuartzManage.startJob(QUARTZ_NAME, qj, "0 0/10 * * * ?"); } catch (org.apache.xmlbeans.impl.regex.ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SchedulerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Scheduled(cron="0 0/1 * * * ?") private void modifyJob(){ System.out.println("----------修改默认调度时间-------------"); try { QuartzManage.modifyJobTime(QUARTZ_NAME, "0 0/3 * * * ?"); } catch (ParseException e) { e.printStackTrace(); } catch (SchedulerException e) { e.printStackTrace(); } System.out.println("----------修改完成------------"); } } --------------------------------------------------------------------------------------------- 3.startJob开始配置调度 4.modifyJobTime修改配置调度时间 -------------------------------------------------------------------------------------------- package com.sungoin.platform.crm.util; import org.apache.xmlbeans.impl.regex.ParseException; import org.quartz.CronScheduleBuilder; import org.quartz.CronTrigger; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.TriggerKey; import org.quartz.impl.StdSchedulerFactory; /** * 可更改quartz调度类 CopyRright (c)2015-SUNGOIN * * @author:fanghui * @date:2015年12月17日15:52:52 */ public class QuartzManage { private static SchedulerFactory sf = new StdSchedulerFactory(); private static String JOB_GROUP_NAME = "group" ; private static String TRIGGER_GROUP_NAME = "trigger" ; /** * 开启一个调度 * @Name:startJob * @author:fanghui * @date:2015年12月17日15:53:37 * @param:@param jobName job time * @return: * @throws */ public static void startJob(String jobName, QueryJobImpl job, String time) throws SchedulerException, ParseException { //创建调度 Scheduler sched = sf.getScheduler(); //配置 JobDetail jobDetail = JobBuilder.newJob(job.getClass()).withIdentity(jobName, JOB_GROUP_NAME).build(); //设定调度时间 CronScheduleBuilder csb = CronScheduleBuilder.cronSchedule(time); //组装触发 Trigger tri = TriggerBuilder.newTrigger().withIdentity(jobName, TRIGGER_GROUP_NAME) .withSchedule(csb) .build(); sched.scheduleJob(jobDetail, tri); if (!sched.isShutdown()) { sched.start(); } } /** * 从Scheduler 移除当前的Job,修改Trigger * * @param jobDetail * @param time * @throws SchedulerException * @throws ParseException */ public static void modifyJobTime(String exportJob, String time) throws SchedulerException, ParseException { Scheduler scheduler = sf.getScheduler(); //获取key TriggerKey triggerKey = TriggerKey.triggerKey(exportJob, TRIGGER_GROUP_NAME); if(triggerKey != null){ //获得trigger配置 CronTrigger tg = (CronTrigger) scheduler.getTrigger(triggerKey); //重新配置时间 CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(time); //重置trigger tg = tg.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); scheduler.rescheduleJob(triggerKey, tg); } } } --------------------------------------------------------------------------------------------------------------------- 5.任务 --------------------------------------------------------------------------------------------------------------------- package com.sungoin.platform.crm.util; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class QueryJobImpl implements Job { @Override public void execute(JobExecutionContext paramJobExecutionContext) throws JobExecutionException { System.out.println("---------处理添加任务-------------"); //实现任务 } }
关于线程 package testTime; import java.util.ArrayList; import java.util.List; public class WorkThreadSample { public static void main(String args[]) { // 任务List: 15个任务 List<Work> workList = new ArrayList<Work>(); for (int i = 0; i < 15; i++) { workList.add(new Work("work" + i)); } // 执行任务的线程:10个 for (int i = 0; i < 10; i++) { WorkThread thread = new WorkThread(workList, "worker--" + i); thread.start(); } } } // 线程类 class WorkThread extends Thread { // 线程名 public String name = null; // 任务List private List<Work> workList = null; public WorkThread(List<Work> workList, String name) { super(); this.name = name; this.workList = workList; } public void run() { System.out.println(name + " start working..."); while (true) { // 同步锁,放在循环里是不让该线程一直占用workList synchronized (workList) { // 任务List中有任务时进行循环 if (workList != null && !workList.isEmpty()) { // 取得一个任务,并从任务List中删除该任务 Work work = workList.remove(0); // 执行任务,例: work.work(name); } else { // 所有任务都完成 break; } } } } } // 任务类 class Work { // 任务名 private String name = null; public Work(String name) { this.name = name; } // 任务内容 public void work(String worker) { System.out.println(worker + ":" + name + " is Done!"); } }
如果需要改变cookie的值,直接修改就可以了 $.cookie('username'); //获得cookie $.cookie('username', '张三'); //设置cookie $.cookie('username', '李四', { expires: 3 }); //设置带时间的cookie 3天 $.cookie('username', '', { expires: -1 }); //删除cookie $.cookie('username', null); //删除 cookie
栈中的特点和取值 import java.util.Stack; public class StackTest { public static void main(String[] args) { Stack<String> stack = new Stack<String>(); System.out.println("now the stack is " + isEmpty(stack)); stack.push("1"); stack.push("2"); stack.push("3"); stack.push("4"); stack.push("5"); System.out.println("now the stack is " + isEmpty(stack)); System.out.println(stack.peek()); //查看栈顶元素值 System.out.println(stack.pop()); //取出栈顶元素 System.out.println(stack.pop()); System.out.println(stack.search("2")); //返回元素在栈中位置 } public static String isEmpty(Stack<String> stack) { return stack.empty() ? "empty" : "not empty"; } } 返回结果: now the stack is not empty 5 5 4 2
二叉树结构和集中取值方式 package testTime; import java.util.LinkedList; public class BinaryTree { //根节点 private Node<Integer> root; //二叉树中节点数量 private int size; //无参构造器 public BinaryTree() { root = new Node<Integer>(); } //数组构造器 public BinaryTree(int[] values) { System.out.print("新建binaryTree:"); for (int i : values) { System.out.print(i+"\t"); } System.out.println(); boolean isLeft = true; int len = values.length; if (len == 0) return ; LinkedList<Node<Integer>> queue = new LinkedList<Node<Integer>>(); root = new Node<Integer>(values[0]); queue.addLast(root); Node parent = null; Node current = null; for (int i=1; i<len; i++) { current = new Node<Integer>(values[i]); queue.addLast(current); if (isLeft) parent = queue.getFirst(); else parent = queue.removeFirst(); if (isLeft) { parent.setLeftChild(current); isLeft = false; }else { parent.setRightChild(current); isLeft = true; } } } //递归中序遍历 public void inorder() { System.out.print("binaryTree递归中序遍历:"); inorderTraverseRecursion(root); System.out.println(); } //层次遍历 public void layerorder() { System.out.print("binaryTree层次遍历:"); LinkedList<Node<Integer>> queue = new LinkedList<Node<Integer>>(); queue.addLast(root); Node<Integer> current = null; while(!queue.isEmpty()) { current = queue.removeFirst(); if (current.getLeftChild() != null) queue.addLast(current.getLeftChild()); if (current.getRightChild() != null) queue.addLast(current.getRightChild()); System.out.print(current.getValue()); } System.out.println(); } //获得二叉树深度 public int getDepth() { return getDepthRecursion(root); } private int getDepthRecursion(Node<Integer> node){ if (node == null) return 0; int llen = getDepthRecursion(node.getLeftChild()); int rlen = getDepthRecursion(node.getRightChild()); int maxlen = Math.max(llen, rlen); return maxlen + 1; } //递归先序遍历 public void preorder() { System.out.print("binaryTree递归先序遍历:"); preorderTraverseRecursion(root); System.out.println(); } private void inorderTraverseRecursion(Node<Integer> node) { // TODO Auto-generated method stub if (node.getLeftChild() != null) inorderTraverseRecursion(node.getLeftChild()); System.out.print(node.getValue()); if (node.getRightChild() != null) inorderTraverseRecursion(node.getRightChild()); } private void preorderTraverseRecursion(Node<Integer> node){ System.out.print(node.getValue()); if (node.getLeftChild() != null) preorderTraverseRecursion (node.getLeftChild()); if (node.getRightChild() != null) preorderTraverseRecursion (node.getRightChild()); } //非递归先序遍历 public void preorderNoRecursion() { System.out.print("binaryTree非递归先序遍历:"); LinkedList<Node<Integer>> stack = new LinkedList<Node<Integer>>(); stack.push(root); Node<Integer> current = null; while (!stack.isEmpty()) { current = stack.pop(); System.out.print(current.getValue()); if (current.getRightChild() != null) stack.push(current.getRightChild()); if (current.getLeftChild() != null) stack.push(current.getLeftChild()); } System.out.println(); } /** * 非递归中序遍历 * 栈内保存将要访问的元素 */ public void inorderNoRecursion() { System.out.print("binaryTree非递归中序遍历:"); LinkedList<Node<Integer>> stack = new LinkedList<Node<Integer>>(); Node<Integer> current = root; while (current != null || !stack.isEmpty()) { while(current != null) { stack.push(current); current = current.getLeftChild(); } if (!stack.isEmpty()) { current = stack.pop(); System.out.print(current.getValue()); current = current.getRightChild(); } } System.out.println(); } /** * 非递归后序遍历 * 当上一个访问的结点是右孩子或者当前结点没有右孩子则访问当前结点 */ public void postorderNoRecursion() { System.out.print("binaryTree非递归后序遍历:"); Node<Integer> rNode = null; Node<Integer> current = root; LinkedList<Node<Integer>> stack = new LinkedList<Node<Integer>>(); while(current != null || !stack.isEmpty()) { while(current != null) { stack.push(current); current = current.getLeftChild(); } current = stack.pop(); while (current != null && (current.getRightChild() == null ||current.getRightChild() == rNode)) { System.out.print(current.getValue()); rNode = current; if (stack.isEmpty()){ System.out.println(); return; } current = stack.pop(); } stack.push(current); current = current.getRightChild(); } } public static void main(String[] args) { BinaryTree bt = new BinaryTree(new int[]{1,2,3,4,5,6,7,8,9}); bt.inorder(); bt.preorder(); bt.layerorder(); bt.preorderNoRecursion(); bt.inorderNoRecursion(); bt.postorderNoRecursion(); System.out.println("深度为:" + bt.getDepth()); } } class Node<V>{ private V value; private Node<V> leftChild; private Node<V> rightChild; public Node(){ }; public Node(V value) { this.value = value; leftChild = null; rightChild = null; } public void setLeftChild(Node<V> lNode) { this.leftChild = lNode; } public void setRightChild(Node<V> rNode) { this.rightChild = rNode; } public V getValue() { return value; } public void setValue(V value) { this.value = value; } public Node<V> getLeftChild() { return leftChild; } public Node<V> getRightChild() { return rightChild; } } 获取的结果为: 新建binaryTree:123456789 binaryTree递归中序遍历:849251637 binaryTree递归先序遍历:124895367 binaryTree层次遍历:123456789 binaryTree非递归先序遍历:124895367 binaryTree非递归中序遍历:849251637 binaryTree非递归后序遍历:894526731 深度为:4
问题:树的先序遍历,中序遍历,后序遍历 先序就是根结点在开始位置 在经过其结点时,就将它进行遍历 中序就是根结点在中间位置 在遍历完它所有的左孩子时,将它进行遍历 后序就是根结点在最后位置 在遍历完它所有的(左右)孩子时,将它进行遍历
hibernate saveOrUpdate方法和merge的区别 首先 saveOrUpdate返回void 也就是什么都不返回 而merge会返回一个对象 其次 saveOrUpdate的做法是:自动判断该对象是否曾经持久化过,如果曾持久化过则使用update操作 否则save操作 merge 在执行session.merge(a)代码后,a对象仍然不是持久化状态,a对象仍然不会被关联到Session上 而update会持久化对象 说白了:merge()用法替代了hibernate早期版本的saveOrUpdateCopy,因此该方法的作用只是将当前对象信息保存到数据库,并且不会将对象转换成持久化状态。
【11-30 花粉漫谈】4.0什么时候推送啊 rt我的大华为已经饥渴难耐了
远古动荡 代表: 天庭 佛界 蚩尤 人族 ,皆为外星人。到地球霸占资源
字符函数 字符函数 查看有多少个字符 SQL> SELECT LENGTH('frances') FROM dual; ----------------------------------------------------------------- SQL> SELECT vencode, DECODE(venname,'frances','Francis') name FROM vendor_master WHERE vencode='v001'; ----------------------------------------------------------------- 查找人是否存在 加字段decode主明是否有人 select name,decode(name,'rbb','有人') from stu;
having 和 order by GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组 每一组行返回针对该组的单个结果 HAVING子句 用于指定 GROUP BY 子句检索行的条件 SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category; SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category HAVING p_category NOT IN ('accessories');
什么时候用SYS_GUID()与什么时候用sequence的比较 序列生成器sequence所生成的数字只能保证在单个实例里是唯一的,这就不适合将它用作并行或者远程环境里的主关键字,因为各自环境里的序列可能会生成相同的数字,从而导致冲突的发生。 SYS_GUID会保证它创建的标识符在每个数据库里都是唯一的。 此外,序列必须是DML陈述式的一部分,因此它需要一个到数据库的往返过程(否则它就不能保证其值是唯一的)。 SYS_GUID源自不需要对数据库进行访问的时间戳和机器标识符,这就节省了查询的消耗。 使用限制: SYS_GUID生成的值的另一个显著的不足之处是,管理这些值会变得困难得多。你必须(手动)输入它们或者通过脚本来填充它们,或者将它们作为Web参数来传递。 出于这些原因,将SYS_GUID作为一个主关键字不是一个很好主意,除非是在一个并行的环境里或者希望避免使用管理序列生成器的情况下。 不过,使用SYS_GUID来做主键也不是不可以,但需要先转为 varchar2 较好。最好在使用时显示转换一下,如:substr(sys_guid(),1,32),直接使用RAW显然是不合适的。 直接插 raw 进入 varchar2 字段,发生隐式的转换,总不是太妥。曾见过因为大量隐式转换导致最后数据库崩溃,当然事后看是数据库的bug了。
美剧特效和中国电影特效 这其实是一道公务员申论考题的材料,材料中给出的原因我觉得蛮有道理的。 1、美剧韩剧是边拍边播,随时根据观众的反馈来调整剧情、人物等等,说白了就是你们想看什么我们就拍什么,比如TBBT里谢耳朵这个形象其实可以算是观众们塑造出来的。中国的电视剧赶着全瞎拍完了一天两集给放了(这条有点跑题。。。)。 2、拍摄一集《纸牌屋》的花费是500W美元,一集。 而且既然说到特效,说说不同吧。中国电视剧的特效全在衣服首饰化妆上,一眼就能看到谁是主角,古装戏里女的脑袋上顶的东西比她头都重;而在美剧里面,人物的衣着都很普通,男士往往就是一件休闲T恤一件宽松牛仔裤,无论男女发型也很普通,甚至会根据剧情需要可以弄乱,但场景特效该有的不会缺少。
如果Java 失宠于Oracle,那么未来会怎么样? 如果Oracle真打算将Java平台投入维护模式,那么对于寻常的开发者、已经采用了 Java 的公司、预备选择Java作为基础的创业者,究竟又会产生什么样的影响? 不要妄自菲薄,大牛也是慢慢练出来的
liunx常用命令 1、显示日期的指令: date 2、显示日历的指令:cal 3、简单好用的计算器:bc 4、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d [Tab]按键---具有『命令补全』不『档案补齐』的功能 [Ctrl]-c按键---让当前的程序『停掉』 [Ctrl]-d按键---通常代表着 5.变换目录:cd6.显示当前所在目录:pwd7.建立新目录:mkdir8.删除『空』的目录:rmdir9.档案与目录的显示:ls
混合动力 混合动力又分为插电式混合动力,油电混合动力,但不管是插电式混动还是油电混合动力,它们的妙处都是油电两用。但这恰恰与大多数都市用车族的用车习惯非常的默契。比如在行程并不长的上下班道路上,车主完全可以关闭发动机,只靠纯电动续航里程就能够完美的实现零排放。而真正到了长途旅游或者商务出差的时候,又可以开启油电驱动模式。而最关键的是这类车的车主不会患上“里程焦虑症”,时刻担心自己车子突然就没电了。
郁垒神荼 郁垒神荼是汉族民间信奉的两位门神。一个叫神荼(音“shēn shū”,或“shén tú”),一个叫郁垒(音“yù lǜ ”或“yù lěi”)。最开始出现在上古神话中。传说神荼和郁垒同为魑魅魍魉之首,归于蚩尤,在逐鹿之战中被擒,降于黄帝轩辕氏,女娲(另有说法是黄帝)将其任命为冥府之神,掌管冥界。神荼一般位于左边门扇上,身着斑斓战甲,面容威严,姿态神武,手执金色战戢;而郁垒则位于右边门扇上,一袭黑色战袍,神情显得闲自适,两手并无神兵或利器,只是探出一掌,轻抚着坐立在他身旁巨大的金眼白虎,寄托了汉族劳动人民一种消灾免祸、趋吉避凶的美好愿望。
根据显示的框来设定内容位置 html,body{height: 100%;} body{TEXT-ALIGN: center;} #wrapper{ MARGIN-RIGHT: auto; MARGIN-LEFT: auto; height:100%; width:100%; margin-top: auto; background: url(<%= request.getContextPath()%>/errorPage/images/500background.jpg) no-repeat center;
关于制作网页时时常出现的兼容问题 浏览器兼容问题一直都被程序员们谈已诟病。 那么如何解决这个问题呢。 我们可以手写一些标志通用控件。 比如说时间控件。jq和js提供了大量的时间控件。但是各种浏览器之间有所不兼职 所以我们就要自己写一个控件。可以避免这种情况的发生
现在互联网时代的格局 如果你是互联网时代的工作人员,你会发现 现在的互联网赚钱行业都已经被各大集团垄断发展了。剩下一些没有搞头的被小企业折腾额乌烟瘴气。名不聊生 如果没有好的政策,互联网行业难有巨头再诞生
世界格局 高科技时代大爆发,需要不断的去探索新的技术。华为所谓的黑科技不过是其他国家玩剩的而已。 科技大爆炸年代最新黑科技就是如何将办公电脑浓缩为高新高科技手机。一台手机解决办公电脑,私人电脑,家用电视,私人手机等结合产物
当提交检索条件为xxx,xxxx格式时改如何处理 String[] values = value.split(","); if(StringUtils.isNotBlank(dto.getPhone())){ for(int i = 0;i< values.length;i++){ if(i==0){ sb.append(" and ( user_no = ? "); params.add(values[i]); } if(i>0 && i < values.length){ sb.append(" or user_no = ? "); params.add(values[i]); } } sb.append(") ");
防止页面传递参数到后台报错,异常 1.可以在页面使用post提交 2.编码同意 3.用get提交时注意修改tomcat编码为utf-8
缓存 数据尽量不要放到缓存中,会出现缓存异常和数据不好处理等诸多问题,建议放到表中,中间还可以修改和后期维护
查找字符串位置:instr instr(string, subString, [start_position, [nth_appearance]]) 其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),注意在这里字符串索引从1开始,如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。 例子: instr('ABCDABCDAEF', 'AB'); -- 返回结果是:1,因为instr字符串索引从1开始,所以是1不是0 instr('ABCDABCDAEF', 'DA', 1, 2); -- 返回结果是:8,返回第二次出现'DA'的位置 instr('A BCDABCDAEF', 'DA', 1, 2); -- 返回结果是:9,由于我在元字符串中加了一个空格,空格仍然算一个字符
改变SQL获取时间格式 date类型直接从数据库获取后显示的是一串数字时间源码,需要转一下才可以显示to_char(t.create_date,'yyyy-mm-dd hh24:mi:ss')
关于相应http相应url超时问题 我们在设置url访问时一般会设置他的链接属性,如下: 获取HttpURLConnection连接对象 URL url = new URL(urlStr); HttpURLConnection httpConn = (HttpURLConnection) url .openConnection(); // 设置连接属性 httpConn.setDoInput(true); httpConn.setRequestMethod("GET"); // 获取相应码 int respCode = httpConn.getResponseCode(); if (respCode == 200) { return ConvertStream2Json(httpConn.getInputStream()); } 但是这样设置以后如果我们请求的接口长时间没有返回相应会出现很长时间的延迟,这个对于登录和平台互通有很大的影响。 那么我们可以在后面加上一个限制 httpConn.setConnectTimeout(3000); 如果连接超过3秒就掐断 这样就不会出现系统频繁卡住和登录超时等问题了
将手机号和邮箱替换成掩码 //设置替换符 var Mreg = /(.{2}).+(.{2}@.+)/g; var Mstr = $("#changeInfoMail").val(); $("#mailValue").val(Mstr); $("#changeInfoMail").val(Mstr.replace(Mreg, "$1****$2")); $("#updateBeforeMal").val(Mstr.replace(Mreg, "$1****$2")); var Sreg = /(.{3}).+(.{3}.+)/g; var Sstr = $("#updateBeforeMobil").val(); $("#smsValue").val(Sstr); $("#updateBeforeMobil").val(Sstr.replace(Sreg, "$1****$2")); $("#changeInfo").val(Sstr.replace(Sreg, "$1****$2"));
如何获取oracle字符串 截取部分 update PLATFORM.T_SYS_BOSS_ACCOUNT_CHANGE t set t.company_name = substr(t.company_name,0,DECODE(instr(t.company_name, '(400'),0,100,instr(t.company_name, '(400')-1));
4.介绍 外院待遇,机遇和规则。 科技方向和原则和理论 资源介绍 如何获得
分页算法 --------------------dao---------------------------------------- List<Object> params = new ArrayList<Object>(); StringBuilder sb = new StringBuilder("select t.login_number,t.login_user,t.ip,t.ip_affiliation,t.login_time,t.login_equipment "); sb.append(" from platform.t_sys_boss_login_history t where t.login_number = '"+customerNum+"'"); if(startTime != null && !startTime.isEmpty()){ sb.append(" and t.login_time >= to_date( ? ,'yyyy-MM-dd') "); params.add(startTime); } if(endtime != null && !endtime.isEmpty()){ sb.append(" and t.login_time <= to_date( ? ,'yyyy-MM-dd') "); params.add(endtime); } StringBuilder totalSQL = new StringBuilder(" SELECT count(*) FROM ( "); totalSQL.append(sb.toString()); totalSQL.append(" ) totalTable "); sb.append(" order by t.login_time desc "); return this.queryPageBySql(NumPerPage, CurrentPage, totalSQL.toString(), sb.toString(), params, null); -----------------------------------------queryPageBySql---------------------------------------- public Pagination queryPageBySql(long numPerPage, long currentPage, String countSql, String pageSql, List<Object> params, RowMapper mapper) { long totalRows = 10000; if (countSql != null) { totalRows = jdbcTemplate.queryForList(countSql, params.toArray(), Long.class).get(0); } long firstResult = 0; long lastResult = 0; long totaoPage = 0; if (numPerPage > 0 && currentPage > 0) { firstResult = (currentPage - 1) * numPerPage; } if (totalRows % numPerPage == 0) { totaoPage = totalRows / numPerPage; } else { totaoPage = (totalRows / numPerPage) + 1; } if (totalRows < numPerPage) { lastResult = totalRows; } else if ((totalRows % numPerPage == 0) || (totalRows % numPerPage != 0 && currentPage < totaoPage)) { lastResult = currentPage * numPerPage; } else if (totalRows % numPerPage != 0 && currentPage == totaoPage) {//最后一页 lastResult = totalRows; } StringBuilder paginationSQL = new StringBuilder(" SELECT * FROM ( "); paginationSQL.append(" SELECT temp.* ,ROWNUM num FROM ( "); paginationSQL.append(pageSql); paginationSQL.append(" ) temp where ROWNUM <= ").append(lastResult); paginationSQL.append(" ) WHERE num > ").append(firstResult); List resultList; if (mapper != null) { resultList = jdbcTemplate.query(paginationSQL.toString(), params.toArray(), mapper); } else { resultList = jdbcTemplate.queryForList(paginationSQL.toString(), params.toArray()); } return new Pagination(numPerPage, totalRows, currentPage, resultList); }
js获取制定时间往前或往后推多少天 //获取指定日期的相差多少天的日期 function addByTransDate(dateParameter, num) { var translateDate = "", dateString = "", monthString = "", dayString = ""; translateDate = dateParameter.replace("-", "/").replace("-", "/"); ; var newDate = new Date(translateDate); newDate = newDate.valueOf(); newDate = newDate - num * 24 * 60 * 60 * 1000; //备注 如果是往前计算日期则为减号 否则为加号 newDate = new Date(newDate); //如果月份长度少于2,则前加 0 补位 if ((newDate.getMonth() + 1).toString().length == 1) { monthString = 0 + "" + (newDate.getMonth() + 1).toString(); } else { monthString = (newDate.getMonth() + 1).toString(); } //如果天数长度少于2,则前加 0 补位 if (newDate.getDate().toString().length == 1) { dayString = 0 + "" + newDate.getDate().toString(); } else { dayString = newDate.getDate().toString(); } dateString = newDate.getFullYear() + "-" + monthString + "-" + dayString; return dateString; }
oracle查看被锁语句和杀死 查看被锁语句 SELECT l.session_id sid, s.serial# serial FROM v$locked_object l, all_objects o, v$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid group BY l.session_id, s.serial#; 被锁条件 SELECT l.session_id sid, s.serial# serial FROM v$locked_object l, all_objects o, v$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid group BY l.session_id, s.serial#; SELECT l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, l.os_user_name, s.machine, s.terminal, o.object_name, s.logon_time FROM v$locked_object l, all_objects o, v$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid ORDER BY sid, s.serial#; 杀掉被锁语句 ALTER system KILL session 'SID,serial#';
鹤壁老城区 求购一套房 80平米左右 想在老区买套房子,二手房优先考虑,如果有合适的新房也可以,两室一厅就可了, 万能的吧友速度召集
LONG转化int 为了方便查看记录一下 一、强制类型转换 [java] long ll = 300000; int ii = (int)ll; 二、调用intValue()方法 [java] long ll = 300000; int ii= new Long(ll).intValue(); 三、先把long转换成字符串String,然后在转行成Integer [java] long ll = 300000; int ii = Integer.parseInt(String.valueOf(ll)); [java] view plaincopyprint?
关于httprequester 的使用方法 httprequester是火狐浏览器提供的一款模仿http请求的插件 需要安装插件才可以使用
关于解析IP地址的问题 package com.sungoin.platform.system.util; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import org.springframework.stereotype.Service; import net.sf.json.JSONObject; @Service public class GainIpAttribution { /** * * @param IP * @return */ public static String GetAddressByIp(String IP){ String resout = ""; try{ String str = getJsonContent("http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fip.taobao.com%2Fservice%2FgetIpInfo.php%3Fip%3D&urlrefer=2d3d04d279aed8367de7ad81e4f8da60"+IP); JSONObject obj = JSONObject.fromObject(str); JSONObject obj2 = (JSONObject) obj.get("data"); String code = (String) obj.get("code"); if(code.equals("0")){ resout = obj2.get("country")+"--" +obj2.get("area")+"--" +obj2.get("city")+"--" +obj2.get("isp"); }else{ resout = "未知"; } }catch(Exception e){ e.printStackTrace(); resout = "获取IP地址异常"; } return resout; } public static String getJsonContent(String urlStr) { try {// 获取HttpURLConnection连接对象 URL url = new URL(urlStr); HttpURLConnection httpConn = (HttpURLConnection) url .openConnection(); // 设置连接属性 httpConn.setConnectTimeout(3000); httpConn.setDoInput(true); httpConn.setRequestMethod("GET"); // 获取相应码 int respCode = httpConn.getResponseCode(); if (respCode == 200) { return ConvertStream2Json(httpConn.getInputStream()); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return ""; } private static String ConvertStream2Json(InputStream inputStream) { String jsonStr = ""; // ByteArrayOutputStream相当于内存输出流 ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; // 将输入流转移到内存输出流中 try { while ((len = inputStream.read(buffer, 0, buffer.length)) != -1) { out.write(buffer, 0, len); } // 将内存流转换为字符串 jsonStr = new String(out.toByteArray()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return jsonStr; } }
oracle分页算法查询 SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM crm2.t_voip_call_record t WHERE t.CREATE_DATE BETWEEN TO_DATE ('2015-08-11', 'yyyy-mm-dd') AND TO_DATE ('2015-10-18', 'yyyy-mm-dd') and t.company_id = 'bda744bb-6fc8-4a6f-8447-27eff588a54f' ) table_alias WHERE table_alias.rowno >= 0 and table_alias.rowno < 10000;
【10-23 求助建议】伟大的吧友啊 请给点建议吧 一直在考虑换手机,但是现在市场上的手机充次了太多的型号,选不定啊。 开始考虑买台水果机算了,可是价格稍高,还有就是我基本都是喜欢用国产的 本人现在用的还是华为p6,虽然缺点很多但是也用了2年 还凑合吧, 然后又瞄上了华为 看到了华为mate系列,感觉还不错 请问一下吧友,mate 7这款手机怎么样,缺点多吗?(ps:没有缺点不可行O(∩_∩)O~) 还有就是mate 8 什么时候出? 有盼头吗?
软件开发行业试水 咨询一下3年java软件软件开发经验,一直在上海工作,可以独自完成系统开发,上海经历的公司规模在500+人 请问在合肥能找到工作吗?能开到多少钱
哎!‘悬鸡’ 就是操蛋的 理性的看待一下‘悬鸡’的动漫会发现一个有趣的现象。 前:《秦时》前几部真的很好,虽然没有超清的画质,没有美轮美奂的场景,但是人物的感情塑造的很生动。 后:现在画质没得说,好;人物的模型,细腻;但是我的感觉总是少了什么?也许是神韵吧 前:以前的 ‘悬鸡’ 是吧《秦时》当孩子养的,给它教育都是最好的,什么好的都给它,以前看秦时往往都是将自己代入剧情去感受秦的文化和人物内心的感情,敢爱敢恨。 后:现在《秦时》就像一个工具,你看一下各种广告。人物没有理由的各种登场,走秀吗?每个月更新一两集敷衍谁呢?主线完全被弱化了,一会调到左,一会调到右,看的人神经弱。 以前我听过一个故事,说有个牧羊人养了一群羊,他把羊放养在大草原上,有人就来买他的奶,并且赞不绝口,就一直买他的奶。后来这些人发现他们买的奶味道变了,然后就去找牧羊人,牧羊人就更他说:羊我已经都卖了,你买的奶是另一个人买走这些羊产的。买奶人大悟,再也没有买那羊产的奶了。 呵呵~也许‘悬鸡’的初始班底早就变了吧,没有人会说这不对,企业都是要发展的,你改革你创新没有人怪罪你,但是如果变了初心,你觉得还有人会信赖你吗? ‘悬鸡’勿忘初心,弘扬历史。不要让你的孩子成了圈钱的工具,且行且珍惜~
canvas 刮刮乐效果 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width; initial-scale=1.0"> <title>演示:使用HTML5实现刮刮卡效果</title> <link rel="stylesheet" type="text/css" href="../css/main.css" /> <style type="text/css"> .demo{width:320px; margin:10px auto 20px auto; min-height:300px;} .msg{text-align:center; height:32px; line-height:32px; font-weight:bold; margin-top:50px} </style> </head> <body> <div id="main"> <h2 class="top_title">使用HTML5实现刮刮卡效果</h2> <div class="msg">刮开灰色部分看看,<a href="javascript:void(0)" onClick="window.location.reload()">再来一次</a></div> <div class="demo"> <canvas></canvas> </div> </div> <script type="text/javascript"> var bodyStyle = document.body.style; bodyStyle.mozUserSelect = 'none'; bodyStyle.webkitUserSelect = 'none'; var img = new Image(); var canvas = document.querySelector('canvas'); canvas.style.backgroundColor='transparent'; canvas.style.position = 'absolute'; var imgs = ['p_0.jpg','p_1.jpg']; var num = Math.floor(Math.random()*2); img.src = imgs[num]; img.addEventListener('load', function(e) { var ctx; var w = img.width, h = img.height; var offsetX = canvas.offsetLeft, offsetY = canvas.offsetTop; var mousedown = false; function layer(ctx) { ctx.fillStyle = 'gray'; ctx.fillRect(0, 0, w, h); } function eventDown(e){ e.preventDefault(); mousedown=true; } function eventUp(e){ e.preventDefault(); mousedown=false; } function eventMove(e){ e.preventDefault(); if(mousedown) { if(e.changedTouches){ e=e.changedTouches[e.changedTouches.length-1]; } var x = (e.clientX + document.body.scrollLeft || e.pageX) - offsetX || 0, y = (e.clientY + document.body.scrollTop || e.pageY) - offsetY || 0; with(ctx) { beginPath() arc(x, y, 10, 0, Math.PI * 2); fill(); } } } canvas.width=w; canvas.height=h; canvas.style.backgroundImage='url('+img.src+')'; ctx=canvas.getContext('2d'); ctx.fillStyle='transparent'; ctx.fillRect(0, 0, w, h); layer(ctx); ctx.globalCompositeOperation = 'destination-out'; canvas.addEventListener('touchstart', eventDown); canvas.addEventListener('touchend', eventUp); canvas.addEventListener('touchmove', eventMove); canvas.addEventListener('mousedown', eventDown); canvas.addEventListener('mouseup', eventUp); canvas.addEventListener('mousemove', eventMove); }); </script> </body> </html>
浏览器的元素全屏和全部全屏 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.w3.org%2FTR%2Fxhtml1%2FDTD%2Fxhtml1-transitional.dtd&urlrefer=e9b2a1e0c6d358d677c4ee0138b67400"> <html xmlns="http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml&urlrefer=d0f4243b5ce5e5fa54fdafc10831c319"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script> function launchFullScreen(element) { if(element.requestFullscreen) { element.requestFullscreen(); } else if(element.mozRequestFullScreen) { element.mozRequestFullScreen(); } else if(element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } else if(element.msRequestFullscreen) { element.msRequestFullscreen(); } } function show(){ //launchFullScreen(document.documentElement);//全部全屏 launchFullScreen(document.getElementById("fullScreen"));//元素全屏 } function exitFullscreen() { if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.mozExitFullScreen) { document.mozExitFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } } //案例详解http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.html5cn.com.cn%2Fnews%2Fcourse%2F2015-04-25%2F29200.html&urlrefer=393c4dfadbdb76dcc7c0165553590dba </script> </head> <body> <div id="fullScreen" style="width: 100%; height:200px; text-align:center"> <input type="button" id="testButton" value="test" onclick="show()"/> <p>快点显示我</p> <input type="button" id="outButton" value="out" onclick="exitFullscreen()"/> </div> </body> </html>
何为焚书?何为坑儒? 所焚何书?为何而焚? 最主要的一本是《尚书》,因为尚书记载上古圣王的治世理念,而秦始皇自以为“功高三皇,德迈五帝”,所以要用自己的治世观念代替上古圣王的治世思想,欲厚今乃焚古。 其次是《诗经》,因为诗经中多赞颂历代君王,始皇不愿有六国遗党颂六国先王。 但,最最重要的或是一本方士《道经》。这道经非现在的老子道德经。此经唯留十六字,十六字心传。“人心惟危,道心惟微;惟精惟一,允执厥中。” (《古文尚书·大禹谟》)《荀子·解蔽篇》中也有类似的引注,称:“《道经》曰:‘人心之危.道心之微。’危微之几,惟明君子而后能知之。”(由此推断曾有一本道经,绝非仅有现存的十六字。) 所坑何人?为何而坑? 所坑非儒,而是方士。因方士所言长生非始皇帝所能修成,长生也非是小小丹药所能达到。(己心不净,何以修行?何以长生?人人本有长生草,己心不净,田园荒芜,何以种得长生。海外三仙山,蓬莱,方丈,瀛洲,不过是人身三大丹田。外求何处求……) 方士接近始皇,非要炼药寻丹,乃是要传《道经》于天下。始皇恼羞成怒,认为方士们在耍弄自己。于是,先焚道经,后坑方士。 所以说所谓的焚书坑儒只是一个简称,再说始皇帝真的敢屠了儒家吗?他敢屠其他家可是就是不敢屠儒家,毕竟如果牵涉到的人员实在的太多了,始皇帝不敢,只能变相的削弱而已。(不要打脸)
jq判断file选择的文件 <html> <head> </head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> var imgArr = ["bmp","jpg","gif","png"]; $(function(){ $("#my_file").bind("change",function(){ if($(this).val() == "") { alert("请选择"); } else{ var file = $(this).val(); var len = file.length; var ext = file.substring(len-3,len).toLowerCase(); if($.inArray(ext,imgArr) == -1) alert("不是图片"); else alert("扩展名是:" + ext) } }); }); </script> <body> <form> <input type="file" id="my_file" /> </form> </body> </html>
能源 能源主要以电为主,大家都知道点事没有污染的,是一种纯净的能源。 而点的来源也比较多种多样,未来电能源主要靠雷电和太阳能为主导的能源。太阳内电池板转化率达到百分之九十以上就可完美利用太能了。小型粒子反应堆利用,主要作用在超大功率的机械上,如宇宙飞船和工业生产上。 雷电转化率达到40%就可以解决地球大部分能源问题,雷电的利用最早产生于古代,古人利用雷电来采集火种然后利用火来改善自己生活方式。 雷元素广泛分布在大气层中,只要提取的方式正确很容易获取,并且将其存储起来,新型电池就可以开发出来。两节一号电池大小的雷元素电池就可供一辆汽车跑一个月的时间。 如何提取空气中的二氧化碳,然后将二氧化碳转化为碳和氧是个革命性问题。这个问题一直存在于现实中。将二氧化碳提存然后用雷元素将其催化就可以分解出来,加以高温和高压就可以才生氧气和碳
报到 争取到上学资格,拿到父亲的黑铁珠,坐车来到徽省高级飞行车站 太古学府外围 巧遇威霸 凌一战力不足 举足轻重的高科技 未来设想 搞定威霸遇玲珑
听说梦三连跪后可以去万万lol 最近匹配的大神太多,膝盖都快跪烂了,是不是可以去lol玩一玩找找自信啊
80/90 80后被当代人评为中庸的一部分人,因为他们是思想解放和为完全解放的一批人。他们做事大部分中规中矩,不会太出格,但是就是因为这他们就会落得平庸。80后做事有自己的想法,但是却不能坚持自己的想法,因为他们不够自信。这种现象不是80后想要的,他们希望的以改变。他们学习名人的事迹和作风,但是却忘了凸显自己的风格。 90后被当代人称之为叛逆的一部分人。90后有个特别突出的特点,那就是不受管教。其实叛逆只是当代人对于思想解放的一种不理性的诠释。90后是正真被解放的人。他们有自己的个性,敢于坚持自己的观点,不受外部原因的影响而改变自己。信奉的条例就是走自己的。 80后和90后对于某一件事的看法是不一样的。80后看待一件事是在别人做这件事的基础上去看待事物的,如果这件事别人做成了那么80后就会觉得这件事是可行的,我们只要按照这个方法来做就会有成果。这种想法往往就束缚了自己的观点,没有自己的主见,放弃了自己而成为别人的影子。他们对于自己的观点持的是不确定态度,如果某个人对于这个观点不认可或不赞同,那么他们就会动摇自己的信心。 90后却不是这种想法,90后有个特点那就是对于自己的观点他们愿意去说服别人,对于意见会听取但是不会苟同。他们会坚持自己的观点不会动摇,哪怕是错误的也会碰个头破血流才会停下来,这是对自己的一种肯定和对坚持的一种信仰。90后是叛逆的一圈人,他们的思想得以解放,所以他们不受世俗的约束,放飞自己的思想去创造不同的观点,推翻长期建立起来的拿来主义观点。
历史简介 宇宙开辟,星球诞生。银河系的产生是亿万星系中的种种变异的一个。 地球的年龄已有几亿年了,但是文明却只有几千年,这是为什么?答案无人知晓。 地球最早产生的文明,且被历史记载的有五个,分别是分别是美索不达米亚(公元前4000年到公元前2000年之间)、古埃及(公元前3200年到公元前500年之间)、印度河(公元前3000年到公元前1700年之间)、爱琴海(公元前2500年到公元前1100年之间)、中国(公元前2000年开始)。除了这些已知的历史记载文明,还有多少人类未知的文明被时间淹没,我们不得而知。 然而纵观世界历史我们不难发现一些未解之谜,世界几大奇迹的产生。这些都不是当时人类文明所能产生的事迹,所以我们有必要怀疑一下,远古时期人类文明断层中到底发生了什么? 再看中国文明黄河发源,史书记载的历史可以分为战国前后,战国前黄河文明都是具有魔幻色彩的,而战国后时期的文明就正常许多了。 商朝、西周、夏朝一度只在黄河流域发展而没有到南方发展这也是一个怪事,总所周知南方是比较适合生存的地方,但是战国前文明却只在黄河流域,战国时期才发展到南方。 其实当时东方文明不止一个黄河流域文明,还有一个淮中文明。只是淮中文明存在的时间太短,而且因为其文化高度发达而不被其他文明所发现,但是文明是在不知不觉中就会被扩散的。言语的沟通、商业的发展都会促进文明的发展与融合,所以淮中文明当时虽然没有被世界发现,但是不知不觉中却影响到了世界文明的发展。 世界上多个奇迹都是在淮中文明的帮助下完成的,不然以当时的劳动产值是不能做出这些。史书中记载的各种超自然现象都是淮中文明做的。中国有《山海经》一书,这本书记录的都是一些超现实的事迹,但是我们不能否认这些事迹的存在。《山海经》是我国非常重要的一部古籍,一般认为主要记述的是古代神话、地理、物产、神话、巫术、宗教、古史、医药、民俗、民族等方面的内容。有些学者则认为《山海经》不单是神话,而且是远古地理,值得一提的是其中包括了一些海外的山川鸟兽。 而以当时人类所处的文明来看它饱含的内容和地理为何如此之广而甚至涉及到海外,这至今是个谜。《山海经》一书的作者和成书时间都一直无法确定,过去认为为大禹、伯益所作而现代中国学者一般认为《山海经》成书非一时,作者亦非一人,时间大约是从战国初年到汉代初年楚,巴蜀,东及齐地方的人所作,到西汉校书时才合编在一起,其中大部分的内容都可能来自于民间口头传说。 按照当时人们口头记载的各种事迹,不难发现,其实在战国前那个神魔居多的时期,太多的事情不能用科学来解释,如果真的要用科学来解释,那么就是有个我们不知道的文明在地球上存在过,那就是淮中文明。 淮中文明当时发达程度不是我们可以想象的,他们可以利用地球上的一切资源,他们居住的地方在长江中部地球,靠近淮河地区。他们以自己的文明帮助地球其他文明发展文明,创造各色建筑,促进社会发展。在各个国家中都可以看到他们的历史中有UFO的事迹,其实这些都是当时高度文明淮中文明的产物,他们来回于世界各地,帮助和散播一些当时地球需要的文明。 但是战国后淮中文明却悄然的消失了,战国时期华夏统占有了长江流域,但是却一点点文明的遗迹都没有发现,一个文明为什么要消失,而且还消失的那么彻底?这个我们没法解答,也许哪一天他们回来,我们的答案也就浮之若现了。
麝香猫屎咖啡 如果可以让生活在大山中的野猫和麝香猫杂交,也许可以得到一种繁殖率更高的新品种猫。麝香猫屎咖啡也许就可量产了。
求推荐小说 不是什么超级牛逼的主角,要那种打打怪升升级 主要在副职业厉害的小说,打怪买装备,采药买血瓶哦
吧主声明 本吧将在近日全面开放管理,欢迎大家一起讨论。
首页
1
2
下一页