- 浏览: 17717 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行 ...
Controller中方法如下:
@RequestMapping("/flexgrid")
@ResponseBody
public Flexgrid flexgrid(BaseBook baseBook) {
return baseBookService.flexgrid(baseBook);
}
然后需要将返回的数据做json处理,在这里我们调用第三方的包jackson。
需要导入jackson-mapper-asl-1.9.10.jar和jackson-core-asl-1.9.10.jar。然后在自己的Spring配 ...
1、在项目下pom.xml 文件中的<build >标签内加入:
<pluginManagement> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <v ...
Grais中安装了acegi-0.5.3.2插件后,首先新增一些角色,然后新增用户的时候,进行角色的关联,一直关联不上。
通关研究相关的页面和方法,即:create.gsp--用户添加页面、edit.gsp--用户修改页面、UserController中的addRoles方法做写修改,既实现了用户权限的关联。
第一步:
修改grails-app\views\user\create.gsp中显示角色的代码
修改前:
<g:each in="${authorityList}" >
<t ...
Grails在Eclipse中的安装
Eclipse安装
首先 安装eclipse 因为eclipse目前只有3.7以后的版本支持Grails插件
所以要选择下载3.7-4.2的版本
Eclipse下载地址:http://www.eclipse.org/downloads/
我们选择最新的版本下载
/**
获取一个字符串内某种字符串出现的次数
*/
class StringTest1
{
public static int getIndexKeyCount(String string , String key){
int index = 0 ;
int count = 0 ;
int length = key.length();
while((index = string.indexOf(key,index)) != -1){
index = index + length;
count ++ ;
}
return ...
字符串反转操作
- 博客分类:
- JAVA基础_String
/**
字符串反转操作
1.字符串变数组
2.反转数组
3.将数组转换成字符串
*/
class StringTest
{
public static String reverseString(String s , int start , int end){
//字符串变数组
char[] chars = s.toCharArray();
//反转数组
reverse(chars,start,end);
//将数组转换成字符串
return new String(chars);
}
private stat ...
/**
多线程--静态同步函数用的是哪一种锁呢?
通过验证 发现不再是this 因为静态方法中也不可以定义this
静态近内存时 内存中没有本类对象 但是一定有该类对应的自己码文件对象
类名.class 该对象的类型是Class
静态的同步方法 使用的是该方法所在类的自己码文件对象 类名.class
*/
class Ticket implements Runnable
{
private static int ticketNum = 100;
boolean flag = true;
public void r ...
多线程-单例设计模式-懒汉式
- 博客分类:
- JAVA基础_多线程
/**
多线程-单例设计模式-懒汉式
单例设计模式-饿汉式
class Single
{
private static final Single s = new Single();
private Single(){}
public static getInstance(){
return s;
}
}
单例设计模式-懒汉式 延迟加载 解决多线程安全问题
用同步函数效率慢 使用双重判断 同步代码块判断 效率快
*/
class Single
{
private static Single s = null;
private ...
多线程-死锁
- 博客分类:
- JAVA基础_多线程
/**
多线程-死锁
同步中嵌套同步 而锁不同
*/
class Ticket implements Runnable
{
private int ticketNum = 1000;
Object obj = new Object();
boolean flag = true;
public void run(){
if(flag){
while(true){
synchronized(obj){
show();
}
}
}else{
while(true){
s ...
多线程--写出一个死锁程序
- 博客分类:
- JAVA基础_多线程
/**
多线程--写出一个死锁程序
*/
class Test implements Runnable
{
private boolean flag;
public Test(boolean flag){
this.flag = flag;
}
public void run(){
if(flag){
synchronized(MyLock.locka){
System.out.println("if locka");
synchronized(MyLock.lockb){
S ...
多线程--同步函数用的是哪一种锁呢?
- 博客分类:
- JAVA基础_多线程
/**
多线程--同步函数用的是哪一种锁呢?
函数需要被对象调用 那么函数都有一个所属对象引用 就是this
所以同步函数使用的锁是this
通过该程序进行验证
使用两个线程进行验证
一个线程在同步代码块中
一个线程在同步函数中
都在执行买票动作
*/
class Ticket implements Runnable
{
private int ticketNum = 100;
boolean flag = true;
public void run(){
if(flag){
多线程--同步函数的使用
- 博客分类:
- JAVA基础_多线程
/**
多线程--同步函数的使用
银行账户 两个储户 每人存300 每次100 存三次
*/
class Bank
{
private int sum;
//Object obj = new Object();
public synchronized void add(int n){
//synchronized(obj){
sum = sum + n;
try{
Thread.sleep(10);
}catch(Exception e){
}
System.out.println( ...
多线程初认识
- 博客分类:
- JAVA基础_多线程
/**
多线程认识
java虚拟机启动的时候会有一个java.exe
该进程至少一个线程负责java程序的执行
而且这个线程运行的代码存在于main方法中。
该线程称之为主线程。
继承Thread类
1.子类覆盖父类中的run方法,将线程运行的代码存放在run中
2.建立子类对象的同时 线程也被创建
3.通过调用start方法开启线程
*/
class Demo extends Thread
{
//private String name;
public Demo(String name){
super(name);
}
...
多线程--运行出现了安全问题
- 博客分类:
- JAVA基础_多线程
/**
多线程--运行出现了安全问题
通过分析 多线程--简单的卖票程序
发现 打印出0,-1,-2等错票
问题的原因:
当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,
还没有执行完,另一个线程参与进来执行。导致共享数据的错误。
解决办法:
对多条操作共享数据的语句,只能让一个线程都执行完。在执行的过程中,其他线程
不可以参与执行。
Java对于多线程的安全问题提供了专业的解决方式
就是同步代码块
synchronized(对象){
需要被同步的代码